Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Постраничный вывод


Автор: Jey_k 19.9.2005, 15:06
Один за одним вниз идут блоки с подгруженой инфой в тэйблы . Как сделать так чтобы на страницу их выводилось например не более 5, а для остальных групп генерировалась линейка 1,2,3,...n. Например, как на форуме с постами

Автор: Mal Hack 19.9.2005, 15:35
Вывод блоков ставишь в цикле от 1 до 5.
Забираеш нужные блоки из базы? Тогда играешься с LIMIT, высчитывая кол-во.
Что касается ссылок,то смоьри тут:
http://forum.vingrad.ru/index.php?showtopic=59995&hl=%EF%EE%F1%F2%F0%E0%ED%E8%F7%ED%FB%E9

http://forum.vingrad.ru/index.php?showtopic=18918
http://forum.vingrad.ru/index.php?showtopic=28061
http://forum.vingrad.ru/index.php?showtopic=27851
http://forum.vingrad.ru/index.php?showtopic=37086

Автор: PARROT 19.9.2005, 15:41
Из базы:
Код

//$s-страница номер
if (!isset($s)) $s=0;
//5 количество сообщений на странице
$res=(запрос к базе limit $s,5);
bla...bla.....bla
//считаем количество id номеров в базе
$res3=mysql_query("select count(id_reference) from reference");
$num=mysql_fetch_row($res3);

$numstr=ceil($num[0]/5);
echo "<tr><td>Страницы: ($numstr)";
for($i=1; $i<=$numstr; $i++){
        $start=($i-1)*5;
        if ($start==$s OR ($s==0 AND $i==1));
        print "<a href=index.php?page=reference&s=$start>[$i]</a></td> ";
}
}
?>
</tr>
</table>

Автор: Jey_k 19.9.2005, 21:55
Беру не из базы. Из файлов собираю. Так для блока 1 заголовок читается первой строкой из файла list, картинка берется 1.gif блок текста из 1.txt и так далее подставляя новые цифры

Автор: Mal Hack 19.9.2005, 22:50
Цитата(Jey_k @ 19.9.2005, 22:55)
Беру не из базы. Из файлов собираю. Так для блока 1 заголовок читается первой строкой из файла list, картинка берется 1.gif блок текста из 1.txt и так далее подставляя новые цифры

Пофиг. Тогда просто работаешь со строками, считая смещение.

Автор: PARROT 20.9.2005, 09:50
Jey_k, код в студию или на мыло.

Автор: Jey_k 20.9.2005, 10:42
Код

    <?php
    // Отображаем отформатированные данные раздела main
    $file=fopen("main/count.dat","r");
    $lim=fread($file,4);
    fclose($file);
    
    $file=fopen("main/list.dat","r");
    
    for ($i=1; $i<=$lim;$i++)
    {
      $head=fgets($file,75);
      $file_date=fopen("main/".$i.".dta","r");
      $dta=fgets($file_date,20);
      fclose($file_date);
      echo"<table border='0' align='center' cellpadding='2'><tr><td bgcolor='#DFEAEA'><font color='#3A4E4E'><img src='img/sub_head.gif' border='0'><b> :: ".$head." :: </b></font><font size='-2'>[ ".$dta." ]";
      echo"</font></td></tr><tr><td><img src='main/".$i.".jpg' border='1' width='150' hight='100' align='left' hspace='5' vspace='5'><div align='justify'>";
      $file_text=fopen("main/".$i.".btm","r");
      while (!feof($file_text))
       {
         $str=fgets($file_text,1024);
         echo nl2br($str)."</div><br>";
        }
      fclose($file_text);
      echo "<div align='right'></div></tr></td></table><hr>";
    } 
    fclose($file);
    ?>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)