Страница 1 из 1
как при помощи php и mysql это сделать
Добавлено: 2010-06-11 9:01:53
Гость
идет запрос в mysql сразу к 3-м таблицам. В цикле while выводится табличка с результатами запроса. Вся таблица представляет собой состояния некоторых событий(например событие №1 имеет несколько сток в результате запроса, событие №2 тоже произвольное кол-во строк). Каждое событие имеет свой ID, описание, время, статус, тип(это и есть ячейки таблицы). Для одного события статус и тип одинаковы. Что надо сделать, чтобы ячейки со статусом и типом отображались только один раз для одного ID?
Re: как при помощи php и mysql это сделать
Добавлено: 2010-06-13 5:52:31
ProFTP
похоже вроде бы на
чтоли?
Re: как при помощи php и mysql это сделать
Добавлено: 2010-06-13 22:22:01
rmn
как-то так. Ячейки в первом столбце группируются по номеру id:
Код: Выделить всё
$result = mysql_query("... ORDER BY id");
$values = array();
while($row = mysql_fetch_assoc($result))
{
$values[] = $row;
}
for ($i=0; $i<count($values); )
{
$id_count = 1;
$current_id = $values[$i]['id'];
for($j=$i+1; $j<count($values); $j++)
{
if ($values[$j]['id'] == $current_id)
$id_count++;
else
break;
}
echo "<tr>\n\t<td rowspan=" . $id_count . ">" . $values[$i]['id'] . "</td>\n";
for($j=0; $j<$id_count; $j++)
{
echo "\t<td>" . $values[$i + $j]['col1'] . "</td>\n";
echo "\t<td>" . $values[$i + $j]['col2'] . "</td>\n";
...
echo "\t<td>" . $values[$i + $j]['colN'] . "</td>\n";
}
echo "</tr>\n";
$i += $id_count;
}