вывод из БД и перенос
1.
Александр (02.02.2011 / 21:12)
Всем добрый вечер!
Проблема такая:
Есть вывод категорий, на данный момент в БД три категории, на странице выводится так:
кат1 | кат2 | кат3
Добавляю ещё одну, и категории выводиться так:
кат1 | кат2 | кат3 | кат4
и страница расширяется.
Мне нужно чтобы выводилось так:
кат1 | кат2 | кат3 <br />
кат4
то есть, по три ссылке в ряд.
А как сделать, увы,не знаю.
Код в след.посте.
Добавлено через 01:01 сек.
echo '<table width="100%">';
if (mysql_num_rows(mysql_query("SELECT `id` FROM `board_kat`"))==0)
{
echo 'Категорий пока нет. Зайдите позже.';
}
else
{
$q = mysql_query("SELECT * FROM `board_kat` ORDER BY `id` ASC");
while($kat = mysql_fetch_array($q))
{
echo '<td><div align="center">';
echo '<img src="'.$kat['id'].'.png" alt="'.$kat['name'].'"><br />';
echo '<a href="index.php?id='.$kat['id'].'">'.$kat['name'].'</a> ['.mysql_num_rows(mysql_query("SELECT `id` FROM `board_ob` WHERE `pid` = '$kat[id]'")).']<br />';
if ($kat['about']!==0)
{
echo esc(trim(stripcslashes(htmlspecialchars($kat['about']))));
echo '<br />';
}
echo '<a href="add.php?id='.$kat['id'].'">Добавить</a><br />';
echo '</div></td>';
}
}
echo '</table>';
2.
Александр (02.02.2011 / 22:33)
хмм,никто не поможет?
3.
Даниил (02.02.2011 / 23:24)
Совету преверстать на дивы и будет гораздо проше сделать ввывод
т.е.
сделать основной див и в нем три дива и у каждого разный класс, и в цикле выводить первое значение один класс, второе значение второй класс, трете значение третий класс, потом обнуляешь счетчик и все, останется только в css прописать правильные свойства для дивов
4.
ramzes (03.02.2011 / 00:01)
$br = 0;
while(...){
$br++;
if($br==3){
$br = 0;
echo'<br />';
}
.... вывод контента ....
}
5.
Nu3oN (03.02.2011 / 00:07)
$i = 0;
while ($kat = mysql_fetch_array($q)) { ++$i;
echo 'text' . ($i % 3 ? '<br />' : null);
}
6.
Phantom (03.02.2011 / 00:14)
$i=0;
while($kat=mysql_fetch_array($q)){
echo 'text';
if($i++%3==2) echo "<br />\r\n";
}
7.
Александр (03.02.2011 / 11:33)
Толи у меня руки из попы растут, толи ещё что, не работает
RAMSES, я Делал так:
echo '<table width="100%">';
if (mysql_num_rows(mysql_query("SELECT `id` FROM `board_kat`"))==0)
{
echo 'Категорий пока нет. Зайдите позже.';
}
else
{
$q = mysql_query("SELECT * FROM `board_kat` ORDER BY `id` ASC");
$br = 0;
while($kat = mysql_fetch_array($q)) {
$br++;
if($br==3){
$br = 0;
echo'<br />';
}
echo '<td><div align="center">';
echo '<img src="'.$kat['id'].'.png" alt="'.$kat['name'].'"><br />';
echo '<a href="index.php?id='.$kat['id'].'">'.$kat['name'].'</a> ['.mysql_num_rows(mysql_query("SELECT `id` FROM `board_ob` WHERE `pid` = '$kat[id]'")).']<br />';
if ($kat['about']!==0)
{
echo esc(trim(stripcslashes(htmlspecialchars($kat['about']))));
echo '<br />';
}
echo '<a href="add.php?id='.$kat['id'].'">Добавить</a><br />';
echo '</div></td>';
}
}
echo '</table>';
и реакции ноль
8.
Марсель (03.02.2011 / 12:14)
в 5 посте пробуй
9.
Женек (03.02.2011 / 12:25)
7.
DEMONS, должно было отработать... а по сути, автор, вот в данном случае на пример найди сам ошибку, путем комментирования лишнего и просмотра хода работы скрипта, имени код вот так
<?
echo '<table width="100%">';
if (mysql_num_rows(mysql_query("SELECT `id` FROM `board_kat`"))==0)
{
echo 'Категорий пока нет. Зайдите позже.';
}
else
{
$q = mysql_query("SELECT * FROM `board_kat` ORDER BY `id` ASC");
$br = 0;
while($kat = mysql_fetch_array($q)) {
$br++;
if($br==3){
$br = 0;
echo'<br />';
}
echo $br;
/*
echo '<td><div align="center">';
echo '<img src="'.$kat['id'].'.png" alt="'.$kat['name'].'"><br />';
echo '<a href="index.php?id='.$kat['id'].'">'.$kat['name'].'</a> ['.mysql_num_rows(mysql_query("SELECT `id` FROM `board_ob` WHERE `pid` = '$kat[id]'")).']<br />';
if ($kat['about']!==0)
{
echo esc(trim(stripcslashes(htmlspecialchars($kat['about']))));
echo '<br />';
}
echo '<a href="add.php?id='.$kat['id'].'">Добавить</a><br />';
echo '</div></td>';
*/
}
}
echo '</table>';
?>
увидишь как изменяется счетчик br на каждом шаге и логически подумай по результатам, если в результатах все нормально, то откомменчивай по кускам, проверяя каждый кусок
10.
Женек (03.02.2011 / 12:38)
в твоем случае попробуй
<?
echo'<br />';
?>
заменить на
<?
echo'Трололо, йа сработало';
?>
и увидишь, выполняется вообще у тебя условие или нет (по идее да) мб у тебя просто в твоих таблицах бр тупит.
11.
Александр (03.02.2011 / 15:51)
плять, не поверите,все три варианта не пашут
9,10, неа, нету переноса.
Заколдованный скрипт
12.
ramzes (03.02.2011 / 19:26)
все должно работать
у меня в десятке узлов подобный код
просто надо же соблюдать стиль разметки
раз у тебя таблицы то <br /> не даст переноса на новый цикл </tr><tr> надо использовать
13.
Александр (04.02.2011 / 13:16)
то есть, так:
<?php
$br = 0;
while(...) {
$br++;
if($br==3){
$br = 0;
echo'<tr><br /></tr>';
}
?>
URL:
https://visavi.net/topics/18447