[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как выводить таблицу в цикле?
Crash2007
привет)
надо вывести <TD> (3раза например), потом вывести <TR>, и так в цикле.. unsure.gif
как это делают программисты?=)



Спустя 35 минут, 57 секунд (19.10.2010 - 18:30) kirik написал(а):
Пограммисты читают форум "Важно: Вывод информации в таблицу"

Спустя 2 часа, 29 минут, 53 секунды (19.10.2010 - 21:00) Crash2007 написал(а):
по поводу ссылки...так не подходит.
попробую объяснить..

мне бы так:
<table>
<tr>
<td>
title1.img1 </td><td> title2.img2 </td><td> title3.img3 </td>
</tr><tr>
<td>
title4.img4 </td><td> title5.img5 </td><td> title6.img6 </td>
</tr>
</table>

"</tr><tr>" - нужно вывести через каждые 3напрмер(или 4 =) ).

вот как это будет выглядеть:
echo '<table><tr>';
$res = mysql_query('SELECT title,img FROM page');
while($row = mysql_fetch_assoc($res)) {
echo '<td>'.$row['title'].$row['img'].'</td>';
(
через каждые три вывода) echo '</tr><tr>';
}
echo '</tr></table>';



и пока я всё это писал...сам сделал то, что мне и надо было..
вот оно:
echo '<table width="100%" border="1" cellpadding="6" cellspacing="0"><tr>';
$query = mysql_query('SELECT id,title FROM cat');
$i = 1;
while($row = mysql_fetch_assoc($query)) {
echo '<td>'.$row['id'].'<br><br>'.$row['title'].'</td>';
if($i == 3) {
echo '</tr><tr>';
$i = 1;
} else {
$i++;
}
}

echo '</tr></table>';

думаю вещь нужная!=)

Спустя 17 минут, 58 секунд (19.10.2010 - 21:18) kirik написал(а):
Crash2007
Молодец что сам попробовал решить!
Но что будет, если записей будет 2, или 5? Тогда таблица будет "не дописанная", и наверняка какой-нибудь из браузеров выведет ее криво.

Цитата (Crash2007 @ 19.10.2010 - 13:00)
по поводу ссылки...так не подходит.

Еще как подходит smile.gif Вам нужно вывести "горизонтальную таблицу" (функция drawTableH())

Для примера:
$data = array('title1.img1', 'title2.img2', 'title3.img3', 'title4.img4', 'title5.img5', 'title6.img6');

echo '<table>' . drawTableH($data, 3) . '</table>';

Выведет:
<table>
<tr>
<td>
title1.img1</td>
<td>
title2.img2</td>
<td>
title3.img3</td>
</tr>
<tr>
<td>
title4.img4</td>
<td>
title5.img5</td>
<td>
title6.img6</td>
</tr>
</table>

Пример для 5-ти колонок

Код:
$data = array('title1.img1', 'title2.img2', 'title3.img3', 'title4.img4', 'title5.img5', 'title6.img6');

echo '<table>' . drawTableH($data, 5) . '</table>';

Результат:
<table>
<tr>
<td>
title1.img1</td>
<td>
title2.img2</td>
<td>
title3.img3</td>
<td>
title4.img4</td>
<td>
title5.img5</td>
</tr>
<tr>
<td>
title6.img6</td>
<td>
 </td>
<td>
 </td>
<td>
 </td>
<td>
 </td>
</tr>
</table>

Как видно, лишние ячейки тоже выводятся, чтобы не нарушать структуру таблицы.


Ну а для вашего случая будет как-то так:
$query = mysql_query('SELECT id,title FROM cat');
$data = array();
while($row = mysql_fetch_assoc($query)) {
$data[] = $row['id'] . '<br /><br />' . $row['title'];
}

echo '<table width="100%" border="1" cellpadding="6" cellspacing="0">' . drawTableH($data, 3) . '</table>';

Спустя 42 минуты, 15 секунд (19.10.2010 - 22:00) Crash2007 написал(а):
ну спасибо =)

эх.облом с моим кодом..))


_____________
Рисую на PHP :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.