Thomasan
Новичок
Дата регистрации:
22.05.2013 00:09:24
Сообщений: 5
Здравствуйте, подскажите пожалуйста каким образом объединить два данных кода:
http://myrusakov.ru/php-dir-images.html
http://myrusakov.ru/php-page-navigation.html
У меня возникает проблема с тем, что в навигации используется импорт данных из базы, мне же нужно что бы импорт был не из базы, а как это выразиться из папки.
На деле, имеется страничка + папка с изображениями, в папке более 1000 картинок. Выводить на одной странице это просто "сложности", тем самым мне нужно разделить все постранично, что бы выводилось допустим по 30 изображений на страницу.
ilyadenisovid
Мастер
Дата регистрации:
28.01.2013 18:32:29
Сообщений: 213
Thomasan
Новичок
Дата регистрации:
22.05.2013 00:09:24
Сообщений: 5
ilyadenisovid
Мастер
Дата регистрации:
28.01.2013 18:32:29
Сообщений: 213
Вроде все нормально, не понимаю в чем ошибка. Тем более вместо 30 - 28, не очень большая разница - пользователь не заметит
Thomasan
Новичок
Дата регистрации:
22.05.2013 00:09:24
Сообщений: 5
Довольно заметно исходя из того, что на первой странице получается 1 столбик из 10 изображений, и два из 9. На остальных все по 10. Ладно, спасибо за навигацию, может решение и найдет само себя)
kuller
Продвинутый
Дата регистрации:
28.02.2012 15:16:04
Сообщений: 51
<?php
$folder = 'files'; // папка с картинками
$max = 30;
if(is_dir($folder))
{
if($dir = opendir($folder))
{
while($file = readdir($dir))
{
if($file !="." && $file !=".."
{
$images[] = $file;
}
}
closedir($dir);
}else echo 'Невозможно открыть каталог';
}else echo 'Файл не является директорией';
$amount = count($images);
$pages = ceil($amount/$max);
$p = $_GET['page'];
if(!$p OR $p=='')
{
$nmin = 0;
$nmax = $max - 1;
}else{
$nmin = ($p * $max) - $max;
$nmax = ($max * $p) - 1;
}
# Вывод фотографий
for($i = $nmin; $i <= $nmax; $i++)
{
if($images[$i])
{
echo '<a href="'.$folder.'/'.$images[$i].'">';
echo '<img style="border:0px blue dashed; width:160px; height:120px;"
src="'.$folder.'/'.$images[$i].'"/>';
echo '</a> ';
}
}
# Навигация
echo "</br></br>";
for ($n=1; $n<=$pages; $n++)
{
if($p != $n)
{
echo '<a href="index.php?page='.$n.'">['.$n.']</a>';
}
elseif ($p !== $n)
{
echo '['.$n.']';
}
}
?>
Thomasan
Новичок
Дата регистрации:
22.05.2013 00:09:24
Сообщений: 5
С навигацией все отлично, теперь подводит открытие изображения по клику в отдельном окне.
onclick=openImageWindow(this.src);
использовал этот код, но если подставляю его в нынешний, то ничего не происходит.
if($images[$i])
{
echo '<img style="border:0px blue dashed; width:200px; height:200px; onclick=openImageWindow(this.src);"
src="'.$folder.'/'.$images[$i].'"/>';
echo ' ';
}
В чем ошибаюсь, перепробовал всяческие вариации кода.
Thomasan
Новичок
Дата регистрации:
22.05.2013 00:09:24
Сообщений: 5
Разобрался, большое спасибо всем
Bridun
Новичок
Дата регистрации:
03.01.2015 08:43:01
Сообщений: 1
Привет всем а как правильно прикрутить к это выводу слки виде назад вперед
echo '<a href="index.php?page='. ($p -1) .'"> << </a>';
echo '<a href="index.php?page='. ($p +1) .'"> >> </a>';
проблема вчем например 7 фото а если кликать дальше то и и 8 и9 ит неостанавливается всмысле открывает пустое вникуда