[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Автоматическая генерация страниц
qwerty
здравствуйте.
есть скрипт который выводит картинки по 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 написал(а):
если в скрипте косяки то плиз поправьте
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.