есть скрипт который выводит картинки по 5 штук в ряд, всего картинок 100 штук.
количество картинок считает переменная $i
подскажите как можно сделать чтобы при достижении (например значение $i=15)
генерировалась новая страница. ну там уже 30 45 и тд. не могу понять принцип действия. спасибо
Спустя 22 минуты, 52 секунды (22.03.2010 - 01:12) krasilich написал(а):
Идея следующая. Делаем параметр p который передаеться в запросе (чаще всего в GET массиве) и означает номер текущей страницы. Дальше составляем формулу, что то типа
$max = 100 //максимальное количестов элементов
$p = $_GET['p'] //текущая страница
$n = 15; //количество элементов на странице
$mi = $p*(ceil($max/$n)) //получаем максимальное i для текущей страницы
for($i = $mi - $n + 1; $i <= $mi; ++$i)
{
//тут у нас генерируються данные для всех элемментов на текущей странице
}
//а тут нужно сделать навигацию по страницам
$host = "http://site.ru/"; //изначальный адресс страницы, его лучще получать автоматически а не прописывать вручную
for($p = 1; $p <= ceil($max/$n); ++$p)
{
echo $host.'?p='.$p.' ';
}
Спустя 18 часов, 29 минут, 35 секунд (22.03.2010 - 19:42) qwerty написал(а):
<?php
$coll = 4; // количество столбцов
// заполняет массив всеми элементами директории
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
$h=$file;
$y=substr($h, -3);
if ($y=='jpg') // выбираем типы файлов для массива
{
$files[] = $file;
}
}
closedir($handle);
// конец заполнения массива
//----тип сортировки
//natsort($files);
//rsort($files);
sort($files);
//shuffle ($files);
//----конец тип сортировки
//----вывод информации в таблице
for ($i = 0; $i <= count($files)-1; $i++) {
echo "<table border='1'>";
for ($s = 1; $s <= $coll; $s++) { // генерация таблици по указанному числу коллонок
if ($i == count($files)) //остановка генерации таблице если достигнуто общее колличество файлов
{
break;
}
echo "<td><img src='$files[$i]'>"; //вывод картинки
echo "<br>";
echo $i;
echo "</td>";
$i++;
}
echo "</table>";
$i--;
}
//----конец вывод информации в таблице
echo count($files);
?>
не могу разобраться, может подскажите куда вставит?
Спустя 1 минута, 3 секунды (22.03.2010 - 19:43) qwerty написал(а):
если в скрипте косяки то плиз поправьте