Постраничный вывод картинок?

  • Автор темы Автор темы Vlad_c
  • Дата начала Дата начала

Vlad_c

Guest
Постраничный вывод картинок?

Я сделал постраничный вывод для текста из базы, но вот переделать для картинок никак не могу может кто поможет. Все проблема именно в формате вывода т.е. строки выводить просто, каждый раз генерируется строка со своими столбцами взятыми из одной строки базы, а мне надо взять и сгенерировать в одно строке 3 столбца с картинками, а затем сгенерировать еще 4 такие строки как это сделать,

$count = mysql_num_rows($r);
$StartPos = $page*4;
if ($StartPos >= $count) { $StartPos = 0; };
$EndPos = $StartPos+3;
If ($EndPos >= $count) { $EndPos = $count-1; }
mysql_data_seek($r, $StartPos);
for($i=$StartPos+1; $i<=$EndPos+1; $i++){
$f=mysql_fetch_array($r);
здесь собственно формируется строка
<tr><td></td></tr>
}
echo ('</table>');
if ($count > 4){
echo "<p align=center>";
if ($page>0) { PrintHref('&lt;&lt;', $page-1, 1,$lang,$ID); echo "&nbsp;"; };

for ($i=0; $i<$count/4; $i++){ PrintHref($i+1, $i, $i != $page,$lang,$ID); echo "&nbsp;"; };
if (($page+1)*4 < $count) { PrintHref('&gt;&gt;', $page+1, 1,$lang,$ID); };
}
вот и все но как мне разбить на строки да еще и на столбцы у меня ведь переход по полям базы идет до формирования строк..... т.е. при таком раскладе получаем 4 строки в которых по одной фотке а не по 3...

-~{}~ 04.11.04 13:58:

извените если не нашел схожей темы на форуме, при поиске такой темы постоянно выкидывает "как сделать постраничный вывод текста"...
 
Естественно, что не нашел.
поскольку тебе нуден непостраничный вывод, а вывод в несколько колонок.
Задачка примитивная, на форматирование.

-~{}~ 04.11.04 14:09:

то есть, количество колонок к постраничному выводу не имеет отношения. это совершенно не связанные между собой задачи.
сделай сначала отдельно вывод колонок, чтобы не путаться, а потом вставишь его в свой скрипт постраничного
 
сделал как и советовали но не работает вместе
работае вывод в 3 колонки а вот когда подключаешь постраничный вывод то IE виснет...
 
зависания ие никакого отношения к пхп не имеют
 
извените. но я кажется затупил и не могу сдвинуться с этого простенького вопроса пожалуйста подскажите где я ошибся

постраничный вывод
p111=mysql_fetch_array($r);
<tr>
потом что бы выводило в 3 столбца беру массив который взят еще в постраничном выводе и иду по его элементам 3 раза затем опять рисую <tr>
но ничего не работает!!!

echo ('<tr>');

for($i2=0; $i2<3; $i2++)
{
$p11 = each($p111);
рисую столбцы
}
</tr>
 
о господи!
Я сейчас застрелюсь!!!!
только сейчас увидел этот чудовищный код, который здесь называется "постраничным выводом".
Идешь, читаешь, втыкаешь:
PHP FAQ: Как разбить вывод из mysql постранично

после этого изменяешь код, так, чтобы он вставлял перевод строки не после каждой строки, а после каждой третьей.
До трех, я надеюсь, хотя бы читать умеешь?

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

Function PrintHref($label, $PageN, $HRef, $lang, $ID){
if ($HRef){ echo "<A class='all' HREF='issue.php?page=$PageN&lang=";
echo $lang;
echo "&ID=";
echo $ID;
echo "'>";}
echo $label;
if ($HRef){ echo "</A>";}
};

$count = mysql_num_rows($r)/3;
$StartPos = $page*4;
if ($StartPos >= $count) { $StartPos = 0; };
$EndPos = $StartPos+3;
If ($EndPos >= $count) { $EndPos = $count-1; }
mysql_data_seek($r, $StartPos);
for($i=$StartPos+1; $i<=$EndPos+1; $i++){
$p111=mysql_fetch_array($r);



echo ('<tr>');

for($i2=0; $i2<3; $i2++)
{
$p11 = each($p111);

рисую столбцы
}
</tr>
if ($count > 4){
echo "<p align=center>";
if ($page>0) { PrintHref('&lt;&lt;', $page-1, 1,$lang,$ID); echo "&nbsp;"; };

for ($i=0; $i<$count/4; $i++){ PrintHref($i+1, $i, $i != $page,$lang,$ID); echo "&nbsp;"; };
if (($page+1)*4 < $count) { PrintHref('&gt;&gt;', $page+1, 1,$lang,$ID); };
}

-~{}~ 05.11.04 16:31:

может не так красиво как в том примере что мне дал, но постранично строки из базы выводятся без проблем, но отформатить на столбцы никак не могу
 
повторяю.
Этот код - ПОРНОГРАФИЯ.
Выкини его на помойку и забудь, как страшный сон.
после этого идешь по ссылке, и читаешь, как делают постраничный вывод из мускуля вменяемые люди.

Все понятно в этой инструкции?
Если что-то непонятно, я могу пояснить.
 
Фанат - извени что опять я со своими глупыми вопросами....

я прикрутил тот скрипт который ты мне дал, но у меня выводит по 3 столбца в строке, а мне нужно чтобы после 3-х столбцов он делал еще однустроку по 3 столбца, если тебе нетрудно пожалуйста помоги
<tr>
while($row=mysql_fetch_array($res)) {-выводится у меня сдесь
3 столбца
}
</tr>
 
то есть, у тебя просто выводит сейчас на странице по три изображения?

А затрудняет тебя то, что ты не можешь сосчитать до трех и после этого поставить тег, который начнет новую строку - я правильно понимаю?
 
просто я незнаю как сделать еще один цикл в котором вывести еще одну строку ведь <tr> стоит до вывода столбцов, извени что у меня такие вопросы просто я не так давно в php просто сейчас он мне очень понадобился..
 
зачем делать еще один цикл?
тебе надо всего лишь внутри цикла считать до 3 (увеличивать переменную на 1), сравнивать её, и если она равна 3, то писать тр.
Тебе не ясно, как это сделать?
 
echo "<tr>";
for ($i=0; $i<5 ;$++) {
echo "<td>$image</td>";
if ($i=2) {
echo "</tr><tr>";
continue;
}
}
echo "</tr>";
Фанат
Хватит его мучить, он всё равно не врубится.
 
Serguitar, не надо давать в форуме в качестве примера код, который содержит синтаксические и логические ошибки (parse error).
 
Фанат цикл не проблема просто когда я его ставлю то просто выводятся повторяющиеся картинки выводит 3 потом опять 3 одинаковые именно в том месте где они выводятся по
while($row=mysql_fetch_array($res)) нужно както изменить
потомуч то если в этом цикле сделать if то происходит дублирование картинок
 
цикл не проблема просто когда я его ставлю
ЦИКЛ
СТАВИТЬ
НЕ НАДО!

Цикл у тебя УЖЕ ЕСТЬ!
Вот этот:
while($row=mysql_fetch_array($res))
и менять его не надо!
Надш всего лишь ВНУТРИ него считать до трех и вставлять тег тр.

Андестенд?
 
Фанат - большое спасибо что выдержал такие гл..е вопросы все оказалось просто как грабли...
 
Сверху