Есть галерея картинок, тумбы которых выводятся в одну строчку. Надо сделать так что бы тумбы выводились в два столбца по 6 тумбов в каждом. Вот код который работает ,но неправельно( PHP: <? for ($itwo = 0; $itwo <= 12; $itwo +=2) if ($row_foto['id'] == $itwo) { echo "<br/>"; } ?> В данном случае я брал id тумбов которые хранятся в БД, но дело в том что допустим при удалении записи мы теряем id, т.е. четное либо нечетное число и получается фигня( Алгоритм я сделал такой, что после каждой четной записи(тумбы) вставляется "<br/>" . *тумбы - thumbs
строишь массив и дальше циклом если и равно 7 то пишешь бр и выводишь картинки дальше ЗЫ чтобы вывести в 2 ряда я юзал вот что стоится массив делится число строк в нём пополам и потом цикл если и = округлённой до целого половины числа строк массива то переносится на следуйщий столбец
Для идентификаторонезависимой выборки используйте LIMIT Для столбцового представления данных я бы посоветовал использовать таблицу, но если хотите <br>, то можно и так PHP: <?php $i = 1; whlie($row = fetch_array...) { echo ...$row[...]...; $i++; if ($i == 3) { echo "<br>"; $i = 1; } } ?>
Вот полный код PHP: <?php do { ?> <a href="foto.php?foto=<?php echo $row_foto['id']; ?> &catid=<?php echo $row_foto['catid'];?> &pageNum_foto=<?php echo $_GET['pageNum_foto'];?>"><img src="<?php echo $row_foto['urlthumb'];?>" alt="" width="70" height="54" class="thumbs"/></a> <? for ($itwo = 0; $itwo <= 30; $itwo +=2) if ($row_foto['id'] == $itwo) { echo "<br/>"; } ?> <?php } while ($row_foto = mysql_fetch_assoc($foto)); ?> TROODON - т.е. у меня получаеться цикл в цикле. Поэтому твой вариант не прокатит, ибо тогда в цикле вайл пройдет полностью весь твой цикл который будет вставлять <br/> n-раз после каждой картинки . Или я не прав? А можно сделать так - посчитать кол-во записей, создать массив этих записей и потом уже обращатся к ним, т.е. сравнивать четное/нечетное число? Вместо вот этого $row_foto['id'](это то что в цикле for) у меня был бы массив записей со значениями 0,1,2....n. В "главный" цикл вайл который поочередно выводит значения $row_foto надо как то впихнуть массив который бы так же поочередно выводился. эээ, я в правельном направлении?
Страничку не обновлял и не увидил поэтому) Сенькс) * у тя там вместо while написанно whlie , для начинающих это может быть критично
Всем огромное спасибо за помощЪ. Есть есче вот что, когда я использовал пример от Krekerа ,то почему то не выводилась самая первая запись на страницу из БД ну и если перейдешь на след страницу то тоже не выводилась первая запись на страницу. Наверное дело в цикле, он каким то образом "пропускал"/"не выводил" первую запись. Вот как сделал, все работает )) PHP: <?php $i = 0; do { ?> <a href="foto.php?foto=<?php echo $row_foto['id']; ?> &pageNum_foto=<?php echo $_GET['pageNum_foto'];?>"><img src="<?php echo $row_foto['urlthumb'];?>" width="70" height="54" class="thumbs"/></a> <? $i++; if ($i == 2) { echo "<br/>"; $i = 0; } ?> <?php } while ($row_foto = mysql_fetch_assoc($foto)); ?>
Код (Text): а при чом здесь остаток от деления?? поясните. while ... $k = 0; if (($k++ % 2) == 0 ) { <tr> ..... }else{ </tr> }