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

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:

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

Фанат

oncle terrible
Команда форума
Естественно, что не нашел.
поскольку тебе нуден непостраничный вывод, а вывод в несколько колонок.
Задачка примитивная, на форматирование.

-~{}~ 04.11.04 14:09:

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

Vlad_c

Guest
сделал как и советовали но не работает вместе
работае вывод в 3 колонки а вот когда подключаешь постраничный вывод то IE виснет...
 

Фанат

oncle terrible
Команда форума
зависания ие никакого отношения к пхп не имеют
 

Vlad_c

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

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

echo ('<tr>');

for($i2=0; $i2<3; $i2++)
{
$p11 = each($p111);
рисую столбцы
}
</tr>
 

Фанат

oncle terrible
Команда форума
о господи!
Я сейчас застрелюсь!!!!
только сейчас увидел этот чудовищный код, который здесь называется "постраничным выводом".
Идешь, читаешь, втыкаешь:
PHP FAQ: Как разбить вывод из mysql постранично

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

Это ж надо было такой кошмар изобрести...
 

Vlad_c

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

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:

может не так красиво как в том примере что мне дал, но постранично строки из базы выводятся без проблем, но отформатить на столбцы никак не могу
 

Фанат

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

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

Vlad_c

Guest
Фанат - извени что опять я со своими глупыми вопросами....

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

Фанат

oncle terrible
Команда форума
то есть, у тебя просто выводит сейчас на странице по три изображения?

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

Vlad_c

Guest
просто я незнаю как сделать еще один цикл в котором вывести еще одну строку ведь <tr> стоит до вывода столбцов, извени что у меня такие вопросы просто я не так давно в php просто сейчас он мне очень понадобился..
 

Фанат

oncle terrible
Команда форума
зачем делать еще один цикл?
тебе надо всего лишь внутри цикла считать до 3 (увеличивать переменную на 1), сравнивать её, и если она равна 3, то писать тр.
Тебе не ясно, как это сделать?
 

Serguitar

Новичок->продвинутый
echo "<tr>";
for ($i=0; $i<5 ;$++) {
echo "<td>$image</td>";
if ($i=2) {
echo "</tr><tr>";
continue;
}
}
echo "</tr>";
Фанат
Хватит его мучить, он всё равно не врубится.
 

SiMM

Новичок
Serguitar, не надо давать в форуме в качестве примера код, который содержит синтаксические и логические ошибки (parse error).
 

Vlad_c

Guest
Фанат цикл не проблема просто когда я его ставлю то просто выводятся повторяющиеся картинки выводит 3 потом опять 3 одинаковые именно в том месте где они выводятся по
while($row=mysql_fetch_array($res)) нужно както изменить
потомуч то если в этом цикле сделать if то происходит дублирование картинок
 

Фанат

oncle terrible
Команда форума
цикл не проблема просто когда я его ставлю
ЦИКЛ
СТАВИТЬ
НЕ НАДО!

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

Андестенд?
 

Vlad_c

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