Forum Webscript.Ru
Программирование => PHP => Тема начата: 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);
}
-
вот в этом цикле
while (false !== ($file = readdir($dir))) {
картинки не выводить, а только занести в массив.
а уж вынести из массива постранично - пара пустяков!
-
RomikChef
$array_file = array($file);
Занёс $file в массив.
-
массивы выводят в цикле.
циклу можно задать начальное и конечное значение
-
Что-то я не понимаю, не могу скрестить вывод картинок и постраничное разбиение :(
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;
}
-
1) Это: "$from" замени на $_GET[\'from\'];
2) У тебя две переменных с одинаковым именем. Это неприлично.
Я только сейчас вспомнил, что постраничного вывода у меня там в галерее нет :) Есть просто разный построчный :)
-
ХА ХА ХА
-
gregor:
for ($i; $i<$numpages; $i++){
тебе надо исправить только одну эту строчку.
сделав ее осмыленной.
-
Вот что меня вышло, выводит по 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);
}
-
прикольно.
я ровно неделю назад написал
циклу можно задать начальное и конечное значение
а воз и ныне там...
конечное заменили, а начальное как было - так и осталось
-
RomikChef
ой, точно!!!