[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создание таблицы и её заполненние в цикле!
Renatishe
Доброго времени суток!

Имеется таблица в базе данных SQL, содержащая два поля - id и num. Пусть данные из неё хранятся в массиве $myrow['num'], содержащим n-количество строк;

Нужно динамически создать таблицу, в ячейки которой будут последовательно добавляться данные из вышеуказанного массива, например:

-------------
| 1 | 2 | 3 |
-------------
| 4 | 5 | 6 |
-------------
| 7 |

Причём, нужно иметь возможность указывать в коде, сколько ячеек должно быть в строке.

Заполнение таблицы должно происходить до тех пор, пока в массиве есть данные.
Как быть? Есть ли решение?
inpost
Ройся на форуме! Тут и конкурс был, и отдельно прилемленная тема в одном из разделов!

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Wird_34
Решение заключается в том, чтобы выводить такую таблицу посредством двух циклов. Внешний цикл выводит строки, а вложенный столбцы от 1 до нужного количества. Вроде все просто.
Renatishe
Wird_34, то, что нужно два цикла - это я понял. Как раз их подружить не могу. Получается либо так:
-------------
| 1 | 2 | 3 |
-------------
Либо так:
-------------
| 1 | 1 | 1 |
-------------
| 2 | 2 | 2 |
и т.д.

inpost
, спасибо за наводку, попробую поискать.
Ice
Была у меня задача такого плана. Правда я ее немного подправил.

<html>
<
body>
<
p>Введите количество колонок</p><br />
<
form>
<
input name="columns" type="text" size="1" maxlength="3" />
<
input type="submit" name="submit" value="Go!" />
</
form>
<?php
if( isset( $_GET['submit'] ) &&

!
empty ( $_GET['columns']) ) {
$cols = abs( intval( $_GET['columns'] ) );
if( $cols > 0 ) {
if( $cols <= 60) {
$arr = array( 1,2,3,4,5,6,7,8,9,0,11,12,33,44,55,66,76,77,1,2,3,4,5,6,7,8,9,0,11,12,33,44,
55,66,76,77,1,2,3,4,5,6,7,8,9,0,11,12,33,44,55,66,76,77,1,2,3,4,5,6,7,8,9,0,
11,12,33,44,55,66,76,77,1,2,3,4,5,6,7,8,9,0,11,12,33,44,55,66,76,77,1,2,3,4,
5,6,7,8,9,0,11,12,33,44,55,66,76,77,1,2,3,4,5,6,7,8,9,0,11,12,33,44,55,66,76,
77,1,2,3,4,5,6,7,8,9,0,11,12,33,44,55,66,76,77,1,2,3,4,5,6,7,8,9,0,11,12,33);
$i=-1;
print "Количество элементов в массиве: <strong>".count($arr).'</strong><br />';
print "Маска: <strong>".ceil(count($arr)/$cols) .{$cols}</strong><br />";
print '<table border=0 style=border-collapse:collapse><tr>';
while( $i < sizeof($arr) - 1 ) {
if( ++ $i % $cols == 0 )
print('</tr><tr>');
if( $i%2==0 )
print '<td style="border:1px solid black; background-color:#8888ff;font-family:arial;text-align:center">'.$arr[$i].'</td>';
else
print '<td style="border:1px solid black; background-color:#bbbbff;font-family:arial;text-align:center">'.$arr[$i].'</td>';
}
print '</tr></table>';
} else {
exit("Указано число колонок <strong>{$cols}</strong>.<br /> Максимальное число колонок <strong>70</strong>");
}
}
else {
exit('Введен неверный параметр');
}
}

?>

<hr />
</
body>
</
html>


_____________
Пишите код, исходя из того, что все программисты, которые будут сопровождать вашу программу, — склонные к насилию психопаты, знающие, где вы живёте.
Быстрый ответ:

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