Forum Webscript.Ru

Программирование => PHP => Тема начата: gregor от 21 Июня 2004, 19:47:53

Название: Как правильно разбить постранично?
Отправлено: gregor от 21 Июня 2004, 19:47:53
Читаю картинки из $dir и вывожу их в две колонки. Если картинок слишком много, то страница становится огромной. Как разбить страницу по $fotos_per_page=20? Ногами сильно не пинайте, я только учусь...


        $dd = 0;
if ($dir = @opendir("small")) {
  while (false !== ($file = readdir($dir))) {
      $smallfile = substr_replace($file, \'\', -5, -4);
      if($file != "." && $file != "..")
      {
      $dd += 1;
      $sd = $dd % 2;
      echo "    ";
      }
      if ($sd == 0){echo "
\\n";
                }
    }
          closedir($dir);
    }

Название: Как правильно разбить постранично?
Отправлено: Меняздесьдавнонет от 21 Июня 2004, 19:59:56
вот в этом цикле
Цитировать
while (false !== ($file = readdir($dir))) {

картинки не выводить, а только занести в массив.
а уж вынести из массива постранично - пара пустяков!
Название: Как правильно разбить постранично?
Отправлено: gregor от 21 Июня 2004, 20:23:40
RomikChef

$array_file = array($file);

Занёс $file в массив.
Название: Как правильно разбить постранично?
Отправлено: Меняздесьдавнонет от 21 Июня 2004, 20:38:10
массивы выводят в цикле.
циклу можно задать начальное и конечное значение
Название: Как правильно разбить постранично?
Отправлено: gregor от 23 Июня 2004, 14:39:53
Что-то я не понимаю, не могу скрестить вывод картинок и постраничное разбиение :(


if ($dir = @opendir("small")) {
  while (false !== ($file = readdir($dir))) {
      if($file != "." && $file != "..")
      {
$array_files = array($file);
      }
                  }
    }
          closedir($dir);
    }

$numpages = ceil($total_fotos / $fotos_per_page);
for ($i; $i<$numpages; $i++){
if ($page_number!=$from) echo " ".($i+1)." ";
      else echo $i+1;
}
Название: Как правильно разбить постранично?
Отправлено: hanslinger от 24 Июня 2004, 08:27:45
1) Это: "$from" замени на $_GET[\'from\'];
2) У тебя две переменных с одинаковым именем. Это неприлично.

Я только сейчас вспомнил, что постраничного вывода у меня там в галерее нет :) Есть просто разный построчный :)
Название: Как правильно разбить постранично?
Отправлено: Меняздесьдавнонет от 24 Июня 2004, 11:49:13
ХА ХА ХА
Название: Как правильно разбить постранично?
Отправлено: Меняздесьдавнонет от 24 Июня 2004, 12:03:40
Цитировать
gregor:
for ($i; $i<$numpages; $i++){

тебе надо исправить только одну эту строчку.
сделав ее осмыленной.
Название: Как правильно разбить постранично?
Отправлено: gregor от 26 Июня 2004, 16:18:06
Вот что  меня вышло, выводит по 20, но при нажатии на следущую страницу опять те-же фотки!!! Как сказать чтоб из массива брались следущие 20?
Спасибо!

if ($handle = @opendir("small")){
while (false !== ($file = readdir($handle)))
 if ($file != "." && $file != "..") $filesarr[] = trim($file);
 $fotos_per_page = 20;
$total_pages = ceil(count($filesarr)/$fotos_per_page);
 if (($_GET[\'from\']<1) || ($_GET[\'from\']>$total_pages)) $_GET[\'from\']=1;
for ($i=0; $i<$fotos_per_page; $i++)
 {
 echo "

\\n";
}
 for ($i=0; $i<$total_pages; $i++)
{
 if ($i==$_GET[\'from\']) echo " $i ";
else echo " ".($i+1)." ";
 }
closedir($handle);
}
Название: Как правильно разбить постранично?
Отправлено: Меняздесьдавнонет от 26 Июня 2004, 16:26:34
прикольно.
я ровно неделю назад написал
Цитировать
циклу можно задать начальное и конечное значение

а воз и ныне там...
конечное заменили, а начальное как было - так и осталось
Название: Как правильно разбить постранично?
Отправлено: gregor от 26 Июня 2004, 16:51:44
RomikChef
ой, точно!!!