Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165

Как лучше реализовать большую таблицу? Массивом или по другому?

19.08.2014, 16:28. Показов 5845. Ответов 116
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите как правильно сделать вот такую таблицу? передавать 60 переменных в обработчик или как то можно массивом, если можно на моем примере с массив показать?! или как то загружать всю таблицу в БД

делал примитивно но думаю это банально (?) много кода

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<table style="font-size:11px" border="1px" bordercolor="#FFFFFF">
 
<tr><!--HEAD-->
 
<td class="head_tb">размер</td>
<td class="head_tb"><img src="../admin/imge/color_bl.png"/></td>
<td class="head_tb"><img src="../admin/imge/color_blk.png"/></td>
<td class="head_tb"><img src="../admin/imge/color_g.png"/></td>
<td class="head_tb"><img src="../admin/imge/color_gr.png"/></td>
<td class="head_tb"><img src="../admin/imge/color_w.png"/></td>
<td class="head_tb"><img src="../admin/imge/color_y.png"/></td>
<td class="head_tb"><img src="../admin/imge/color_pn.png"/></td>
<td class="head_tb"><img src="../admin/imge/color_r.png"/></td>
<td class="head_tb"><img src="../admin/imge/color_fl.png"/></td>
<td class="head_tb"><img src="../admin/imge/color_be.png"/></td>
 
</tr><!--!HEAD-->
 
<form action="action.php" method="post">
 
<tr>
 
<td class="size_tb">XS</td>
<td class="size_tb"><input name="xs_blu" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xs_bl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xs_g" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xs_gr" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xs_w" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xs_y" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xs_p" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xs_r" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xs_fl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xs_bg" class="input" type="text" value="0"></td>
 
</tr>
 
<tr><!--HEAD-->
 
<td class="size_tb">S</td>
<td class="size_tb"><input name="s_blu" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="s_bl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="s_g" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="s_gr" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="s_w" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="s_y" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="s_p" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="s_r" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="s_fl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="s_bg" class="input" type="text" value="0"></td>
 
</tr><!--!HEAD-->
 
<tr><!--HEAD-->
 
<td class="size_tb">M</td>
<td class="size_tb"><input name="m_blu" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="m_bl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="m_g" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="m_gr" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="m_w" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="m_y" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="m_p" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="m_r" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="m_fl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="m_bg" class="input" type="text" value="0"></td>
 
</tr><!--!HEAD-->
 
<tr><!--HEAD-->
 
<td class="size_tb">L</td>
<td class="size_tb"><input name="l_blu" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="l_bl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="l_g" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="l_gr" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="l_w" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="l_y" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="l_p" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="l_r" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="l_fl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="l_bg" class="input" type="text" value="0"></td>
 
 
</tr><!--!HEAD-->
 
<tr><!--HEAD-->
 
<td class="size_tb">XL</td>
<td class="size_tb"><input name="xl_blu" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xl_bl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xl_g" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xl_gr" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xl_w" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xl_y" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xl_p" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xl_r" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xl_fl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xl_bg" class="input" type="text" value="0"></td>
 
 
</tr><!--!HEAD-->
 
<tr><!--HEAD-->
 
<td class="size_tb">XXL</td>
<td class="size_tb"><input name="xxl_blu" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xxl_bl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xxl_g" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xxl_gr" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xxl_w" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xxl_y" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xxl_p" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xxl_r" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xxl_fl" class="input" type="text" value="0"></td>
<td class="size_tb"><input name="xxl_bg" class="input" type="text" value="0"></td>
 
 
</tr><!--!HEAD-->
<tr>
 
<td><input name="submit" type="submit" value="OK"></input></td>
</tr>
</form>
 
</table>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.08.2014, 16:28
Ответы с готовыми решениями:

Как передать таблицу массивом в js или jQuery?
Добрый день, не подскажете как можно передать содержимое таблиц массивом в javascript или jquery, например у меня есть таблица, и текст в...

Как лучше вывести большую таблицу со множеством группировок?
Добрый день. Много перерыл информации, но так и не нашел каким способом лучше всего выводить большую таблицу. Задача - Есть 4 таблицы...

Как вывести одно значение из массива list? Лучше использовать итератор или как-то по другому?
Здравствуйте! Что бы вывести одно значения из массива list нужно использовать итератор или можно как то по другому?

116
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165
04.09.2014, 12:58  [ТС]
Студворк — интернет-сервис помощи студентам
MAV скажи получается опять привязка к пользователю а все заказы без привязок можно вывести

сейчас делаю так

добавил таблицу id_order с id_order автоинкремент и num_order куда при нажатии сформировать заказ падает уникальный номер

потом

в admin/order.php делаю запрос

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$sql_basket = "SELECT * FROM id_order";
$query_basket = mysql_query($sql_basket) or die (mysql_error());
 
while($row_from_basket = mysql_fetch_assoc($query_basket)){
?>
 
<p style="background-color:#E0E0E0; padding: 10px;"><a href='cart_order.php?num_order=<?=$row_from_basket["num_order"]?>'><?=$row_from_basket['num_order']?></a></p>
<br/>
 
<?php 
}
?>
и по ссылке
PHP
1
<a href='cart_order.php?num_order=<?=$row_from_basket["num_order"]?>'><?=$row_from_basket['num_order']?></a>
передаю уникальный номер заказа в cart_order

В cart_order

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (isset($_GET['num_order'])) 
    
    $num_order = $_GET['num_order'];
    
    {
    
    $result_order = mysql_query("SELECT * FROM orders WHERE order_id='$num_order'");
        
        while ($row_order = mysql_fetch_assoc($result_order))
        {
        
        echo $row_order["login"];
        echo $row_order["ts"];
        
        }
        
    }
ну как то так, если это дилетантство бейте, но в данном случае пока не знаю как записывать в две таблицы одновременно уникальный номер заказа, тоесть еще и в id_order -> num_order
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
04.09.2014, 13:18
Цитата Сообщение от cinema4d Посмотреть сообщение
ну как то так, если это дилетантство бейте, но в данном случае пока не знаю как записывать в две таблицы одновременно уникальный номер заказа, тоесть еще и в id_order -> num_order
не совсем ясно, зачем вообще нужна эта вторая таблица, в ней нет никакой практической ценности, поскольку все заказы можно вывести и без нее
PHP
1
$res = mysql_query("SELECT order_id FROM basket_orders GROUP BY order_id ORDER BY ts DESC ");
в этом случае он выведет все заказы, которые есть в таблице и объединит их по order_id, таким образом каждый id заказа будет выведен один раз
1
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165
04.09.2014, 14:38  [ТС]
GROUP BY очень хорошая функция!! СПАСИБО вчера юзал примеры с ней ночью, но походу уже мозги на бекрень были!! СПАСИБО!
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
04.09.2014, 14:42
cinema4d, возможно просто использовал ее после ORDER BY, а mysql этого не любит
еще есть SELECT DISTINCT, который тоже выбирает только уникальные значения по указанному полю
0
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165
04.09.2014, 14:54  [ТС]
уникальные это как, если оно уникально то его и не будет два раза - я говорю я дерево)))))))
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
04.09.2014, 15:06
Цитата Сообщение от cinema4d Посмотреть сообщение
уникальные это как
уникальное не в смысле хранения, а в смысле выборки из БД

то есть он пропустит повторяющиеся значения, как будто запись только одна, при этом в таблице их может быть несколько

для примера
order_id
123
123
123
234
234
234

с применением GROUP BY или SELECT DISTINCT в результате даст только два элемента 123 и 234
0
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165
04.09.2014, 15:18  [ТС]
я понял спасибо!, а есть какой нить вариант чтоб номер заказа смотрелся более восприимчиво? если не сложно
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
04.09.2014, 15:21
Цитата Сообщение от cinema4d Посмотреть сообщение
а есть какой нить вариант чтоб номер заказа смотрелся более восприимчиво?
ну если каждую секунду не планируется, что будет заказ, то можно вполне обойтись сделанным из текущей даты, например
PHP
1
$order_id = date("YmdHis");
в итоге он будет выглядеть как 20140904182130
1
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165
05.09.2014, 15:29  [ТС]
MAV здравствуйте скажите что не так?

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
$res = mysql_query("SELECT COUNT(DISTINCT order_id) as count FROM orders GROUP BY orders");
 
$i = 0;
 
?>
 
 <div class="dashboard-heading">ЗАКАЗЫ</div>
<div class="dashboard-content"> 
 
<table class="list">
 <thead class="thead">
 
 <tr>
 
    <td class="right">
    позиция
    </td>
 
    <td class="right">
    заказ
    </td>
    
    <td class="left">
    заказчик
    </td>
    
    <td class="left">
    дата
    </td>
    
    <td class="left">
    дата
    </td>
    
    <td class="right">
опции    </tr>
 
 </thead>
 <?php
while($row_from_basket = mysql_fetch_assoc($res)){
?>
 
 
 
 
<tr>
 
<td class="right">
<?=$i++?>
</td>
 
<td class="right">
<?=$row_from_basket["order_id"]?>
</td>
 
<td class="left">
<?=$row_from_basket['login']?>
</td>
 
<td class="left">
<?=$row_from_basket['ts']?>
</td>
 
<td class="left">
<?=$row_from_basket['ts']?>
</td>
 
<td class="right">
<a href='cart_order.php?num_order=<?=$row_from_basket["order_id"]?>'>[ Просмотр ]</a></td>
</tr>
 
 
 
 
 
 
<?php 
}
?>
говорит вот Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/s/stellaprin/stellaru/public_html/admin/order.php on line 89
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
05.09.2014, 16:34
GROUP BY orders не может быть, должно быть имя поля, а это имя таблицы да и вообще он тут не нужен, достаточно конструкции COUNT(DISTINCT order_id) AS count
но! этот запрос вернет только количество заказов в таблице, но никак не все остальное
1
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165
05.09.2014, 17:24  [ТС]
а все и не надо хочу посчитать кол - во строк в каждом заказе)) COUNT(DISTINCT order_id) AS count пойдет??
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
07.09.2014, 07:03
Цитата Сообщение от cinema4d Посмотреть сообщение
COUNT(DISTINCT order_id) AS count пойдет??
должно сработать
1
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165
07.09.2014, 14:22  [ТС]
походу что то не так далаю))
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
07.09.2014, 14:29
Цитата Сообщение от cinema4d Посмотреть сообщение
походу что то не так далаю))
а что в результате получается? больше чем нужно?
0
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165
07.09.2014, 14:42  [ТС]
$res = mysql_query("COUNT(DISTINCT order_id) AS count");


Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in

я чета не пойму как запрос должен быть
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
07.09.2014, 14:45
Цитата Сообщение от cinema4d Посмотреть сообщение
я чета не пойму как запрос должен быть
ну так а селект куда потерялся? это же запрос на выборку и структура у него обычная
MySQL
1
SELECT COUNT(DISTINCT order_id) AS count FROM orders
1
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165
07.09.2014, 14:54  [ТС]
вот я!!!!

Добавлено через 2 минуты
Notice: Undefined index: order_id in /home/s/stellaprin/stellaru/public_html/admin/order.php on line 102 ??????

Добавлено через 1 минуту
DISTINCT это что то типа group ??
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
07.09.2014, 15:06
Цитата Сообщение от cinema4d Посмотреть сообщение
Notice: Undefined index: order_id in /home/s/stellaprin/stellaru/public_html/admin/order.php on line 102 ??????
а что на этой строке написано? есть у меня подозрения, что после запроса что-то типа "$row["order_id"]"? но его в результате выполнения запроса нет, а есть $row["count"], поскольку результату было присвоено такое имя через "AS count"

Цитата Сообщение от cinema4d Посмотреть сообщение
DISTINCT это что то типа group ??
я если честно в такие тонкости не вдавался но судя по всему -- DISTINCT преобразовывается в GROUP BY при выполнении запроса
0
0 / 0 / 2
Регистрация: 07.11.2013
Сообщений: 165
07.09.2014, 15:10  [ТС]
было так $res = mysql_query("SELECT * FROM orders GROUP BY order_id");

и потом так

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 <?php
while($row_from_basket = mysql_fetch_assoc($res)){
?>
 
 
 
 
<tr>
 
<td class="right">
<?=$i++?>
</td>
 
<td class="right">
<?=$row_from_basket["order_id"]?>
</td>
 
<td class="left">
<?=$row_from_basket['login']?>
</td>
 
<td class="left">
<?=$row_from_basket['ts']?>
</td>
 
<td class="left">
<?=$row_from_basket['ts']?>
</td>
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
07.09.2014, 15:18
Цитата Сообщение от cinema4d Посмотреть сообщение
и потом так
тогда это очень странно, что он ругается, что индекса order_id нет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.09.2014, 15:18
Помогаю со студенческими работами здесь

Как лучше: создать одну таблицу стилей css или несколько?
Привет. Попробовал не пихать всё в один файл style.css, а сделать несколько таких файлов: style1.css, style2.css, style3.css. Всё работает...

Как лучше сделать большую базу данных?
Уважаемые знатоки, подскажите, пожалуйста, как лучше сделать большую базу данных. Уже несколько дней сижу и перечитываю все возможные...

Что лучше? Несколько условии или один цикл с массивом?
Всем привет! На сайте есть скрипт с несколькими условиями(довольно таки много условии). И ответ я получаю через 800-850 мс. Как быть,...

Как сохранить большую таблицу в pdf?
Добрый день. Делаю расписание универское. Таблица большая. Хочу сделать ее в pdf. Таблица готова, однако, после сохранения в pdf, она...

Как вместить большую таблицу в Div
День добрый. Помогите решить трабл. Проблема в том что в дифе .centr находиться таблица в которую выгружаются данный с Mysql. Из-за...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru