|
|
|
| вот код но не мой:
<table border="1">
<?php
require_once'conf/db.php';
$num_on_row = 7;
$num = 174;
$iter = $num + ($num_on_row - ($num % $num_on_row));
$query_id = mysql_query("SELECT * FROM `card_tehnology` WHERE `id` = '$_GET[id]';");
$row = mysql_fetch_array($query_id);
for($i=0;$i<=$iter;$i++)
{
$ost = $i % $num_on_row;
if($ost ==1)
print '<tr>';
print '<td>'.(($i <= $num) ? $row['col_'.$i]:'').'</td>';
if($ost ==0)
print '</tr>';
}
?>
</table>
|
он выводит по 7 записей из базы на строку.
но вот в чем проблема
выводит он в таком виде
1
2 3 4 5 6 7
а надо так
1 2 3 4 5 6 7
тоесть все 7 на одной строке
а он первое ставит отдельно а остальные 6 на одну строку.
и я че то не догоню что исправить | |
|
|
|
|
|
|
|
для: nek-v
(06.09.2008 в 00:34)
| |
<table border="1">
<tr>
<?php
require_once'conf/db.php';
$num_on_row = 7;
$num = 174;
$query_id = mysql_query("SELECT * FROM `card_tehnology` WHERE `id` = '".$_GET[id]."'";
if(mysql_num_rows($query_id))
{
$k=0;
for($i=0; $i < $num; $i++)
{
echo '<td>'.$row['col_'.$i].'</td>';
if($k == $num_on_row) {
echo '</tr><tr>';
$k=1;
} else {
$k++;
}
}
}
?>
</tr>
</table>
|
| |
|
|
|
|
|
|
|
для: DDK
(06.09.2008 в 00:51)
| | блин спасибо!!!
работает!!!
только вот теперь вопрос, как сделать так чтоб не выводило пустых ячеек если в бд только несколько полей заполнены а не все 174? | |
|
|
|
|
|
|
|
для: nek-v
(06.09.2008 в 01:17)
| |
<table border="1">
<tr>
<?php
require_once'conf/db.php';
$num_on_row = 7;
$num = 174;
$query_id = mysql_query("SELECT * FROM `card_tehnology` WHERE `id` = '".$_GET[id]."'";
if(mysql_num_rows($query_id))
{
$k=0;
for($i=0; $i < $num; $i++)
{
if(!empty($row['col_'.$i]))
{
echo '<td>'.$row['col_'.$i].'</td>';
if($k == $num_on_row)
{
echo '</tr><tr>';
$k=1;
}
else
{
$k++;
}
}
}
}
?>
</tr>
</table>
|
| |
|
|
|
|
|
|
|
для: DDK
(06.09.2008 в 02:23)
| | И где открывающий тег TR? | |
|
|
|
|
|
|
|
для: sim5
(06.09.2008 в 07:31)
| | Внимательнее посмотрите :) | |
|
|
|
|
|
|
|
для: DDK
(06.09.2008 в 09:05)
| | Мдя, что же вы его в черный выкрасили, не заметил :) | |
|
|
|
|
|
|
|
для: nek-v
(06.09.2008 в 00:34)
| | Принцип таков:
1. Если текущая итерация цикла четна числу колонок то выводим открывающий тег TR
2. Далее выводим ячейки, но с учетом бордюра
3. Если текущая итерация цикла плюс 1 четна числу колонок то выводим закрывающий тег TR
Что значит с учетом бордюра:
Если вы указываете бордюр таблице, то в пустые ячейки нужно вставлять код проблеа -
Если раскладываемый массив не четен числу колонок таблицы, и вы указываете бордюр для нее, то нужно дополнить счетчик цикла разложения этого массива до четного числу колонок. Это можно сделать по такому принципу:
N = если число колонок больше числа элементов массива, или число элементов массива кратно числу колонок, значит равно числу элементов массива, иначе равно числу элементов массива плюс разница числа колонок и числа элементов массива деленного по модулю на число колонок.
Если этого не сделать и не вставлять в пустые ячейки, при указании бордюра, то ваша таблица будет выглядеть аляписто. | |
|
|
|