|
|
|
| Как можно решить такую задачу.
Есть база данных, Отображение необходимых данных осуществляется в один столбец, если колиичество строк более допустим сорока, тогда добавляется еще один столбец, и т.д. Заранее спасибо! | |
|
|
|
|
|
|
|
для: Besenok
(14.10.2005 в 10:08)
| | Напишите пожалуста участок кода отвечающий за вывод информации в браузер. | |
|
|
|
|
|
|
|
для: napTu3aH
(14.10.2005 в 11:03)
| |
mysql_connect ($host, $user_bd, $pass_db);
mysql_select_db($base);
$sql = "SELECT port FROM name_table";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
if ($rows<1) {echo "Результатов нет";}
else
{
echo '<table width=100%><tr><td width="100px">Роследнее обращение к порту</td></tr>';
while(list($port) = mysql_fetch_row($result))
{
echo ' <tr><td>'.$port.'</td></tr>';
}
echo '</table>'
}
|
Но в таком виде вся информаия выведенная из БД записывается в один столбец, для наглядности необходимо чтобы если колличество записей превышает допустим 40 тогда добавляется новый столбец, т.е верхняя строка будет собержать значения $port[0] в первой колонке и $port[40] соответственно во второй и так далее по анологии. Статистика ведется за каждые сутки отдельно, колличество записей в день от 50 до 1000 | |
|
|
|
|
|
|
|
для: Besenok
(14.10.2005 в 13:33)
| | А не легче сделать постраничную навигацию? так ведь будет удебнее ( в ссылках на странице можно указать дату). Подсказка, используйте оператор LIMIT | |
|
|
|
|
|
|
|
для: Razputin
(14.10.2005 в 14:05)
| | В данном случае не подходит, статистика за день должна отображаться на одной странице, в этом то и вся загвоздка. | |
|
|
|
|
|
|
|
для: Besenok
(14.10.2005 в 13:33)
| | Вычислять число столбцов заранее и действовать по схеме, приведённой в скрипте ниже
<?php
$filename = array("all.php", "auth.php",
"auth.txt", "base.txt",
"chat.html", "config.php",
"count.txt", "count_new.txt",
"counter.dat", "counter.php",
"create.php", "dat.db");
// Вычисляем число элементов в массиве
$total = count($filename);
// Число столбцов в таблице
$numcols = 3;
// Вычисляем число строк
$number = (int)($total/$numcols);
if((float)($total/$numcols) - $number != 0) $number++;
// Формируем промежуточный двумерный массив
for($i = 0; $i < $number; $i++)
{
for($j = 0; $j < $numcols; $j++)
{
$arr[$i][$j] = $filename[$j*$number + $i];
}
}
// Выводим таблицу
echo "<table border=1>";
for($i = 0; $i < $number; $i++)
{
echo "<tr>";
for($j = 0; $j < $numcols; $j++)
{
echo "<td>".$arr[$i][$j]."</td>";
}
echo "</tr>";
}
echo "</table>";
?>
|
Здесь $numcols в столбцов выводится содержимое массива $filename. | |
|
|
|