Программирование > PHP

поворот таблицы на 90 градусов

(1/2) > >>

Megalord:
есть MySQL БД нужно выбрать из таблицы данные и перед выводом на экран развернуть таблицу
должно быть примерно так:

id | title | param1 |param2 | param3
1 | a     | a1        |a2        |a3
2 |  b    | b1        |b2       |b3
3 | c     | c1        |c2        |c3



id         | 1 | 2 | 3
title      | a | b | c
param1 |a1|b1|c1
param2 |a2|b2|c2
param3 |a3|b3|c3

brainkiller:
Первое, что приходит в голову - значения записать в массив, а потом по нему еще раз циклом пройти.

Megalord:

--- Цитировать ---brainkiller:
Первое, что приходит в голову - значения записать в массив, а потом по нему еще раз циклом пройти.
--- Конец цитаты ---


про то что для начала нужно все запихнуть в массив понятно
но просто не хватает фантазии как этот массив потом развернуть
может есть какая функция для поворота массива или придется циклом каждое значение переставлять?

brainkiller:
[OFF]Ага, прикольная была бы функция: array_rotate($array, 90); :)[/OFF]

К сожалению, просто повернуть его вряд ли получится.

Можно пойти следующим путем. Вначале формируем двумерный массив со значениями примерно такого вида:

$a[0][0]=\'id\'; $a[0][1]=\'title\', ... , $a[0][n]=\'paramN\'
$a[1][0]=\'1\'; $a[1][1]=\'a\', $a[1][2]=\'a1\', ... , $a[1][n]=\'aN\'
$a[2][0]=\'2\'; $a[2][1]=\'b\', $a[2][2]=\'b1\', ... , $a[2][n]=\'bN\'
...
$a[m][0]=\'m\'; $a[m][1]=\'x\', $a[m][2]=\'x1\', ... , $a[m][n]=\'xN\'

Естественно, делаем это не вручную, а вложенным циклом, меняя во внешнем цикле значение m, а во внутреннем - n.

А потом выводим содержимое массива, меняя во внешнем цикле значение n, а во внутреннем - m:

for($i=0; $i

new_coder:
просто формируешь вывод по другому
ихмо нет лишнит затрат времени

$sql_res = mysql_query("SELECT * FROM program");

$max = mysql_num_rows($sql_res);

for($i = 0; $i < $max; $i++)
{
$res[] = mysql_fetch_assoc($sql_res);
}

$HTML_TABLE .= "<table border=\'1\'>";
foreach($res[0] as $key => $value)
{
$HTML_TABLE.="<tr>
<td>".
$key
."</td>";
for($i = 0; $i < $max; $i++)
{
$HTML_TABLE.="<td>".
$res[$i][$key]
."</td>";
}
$HTML_TABLE.="</tr>";
}
$HTML_TABLE .= "</table>";

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 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 
Перейти к полной версии