форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / Создание сайта / Нужна помощь... (PHP) |
| Автор | Сообщение |
| Cryptex Участник 317 |
# Дата: 18 Янв 2007 11:30 Есть вот такая деребедень... Вкратце: Получаю картинки из папки и отоброжаю их на страничке... Так вот какой именно помощи я от вас хочу: помогите мне изменить или дополнить код, чтобы: 1. На странице показывалось определённое количество картинок... А все остальные показывались ( в таком же количестве) на автоматически созданных страницах. 2. Возможность перехода по этим страницам например вида: <<Предыдущая страница | 1 | 2 | 3 |... |N| Следующая страница>>
<?php
$i = "-3"; // В папке 3 ненужных файла
if ($how = opendir('.')) {
while (false !== ($file = readdir($how))) {
if (!is_dir($file)) {
$i++;
}
}
closedir($how);
}
$pict = "10"; // Сколько выводить картинок на страницу
$n = $i / $pict; // Сколько страниц потребуется
$n2 = $n + 1; // Страниц должно быть немного больше ))
print "Pages: ";
for ($a = 1; $a < $n2; $a++) {
print "<a href=view.php?page=$a>$a</a> ";
} // конец for
print "<br>";
// Сами картинки...
$dirName = ".";
$dp = opendir($dirName);
chdir($dirName);
//add all files in directory to $theFiles array
while ($currentFile !== false){
$currentFile = readDir($dp);
$theFiles[] = $currentFile;
} // Конец while
//extract gif and jpg images
$imageFiles = preg_grep("/jpg$|gif$|JPG$|GIF$/", $theFiles);
$output = "";
foreach ($imageFiles as $currentFile){
$output .= <<<HERE
<img src = "$dirName/$currentFile"
height = 19
width = 350><br><br>
HERE;
} // Конец foreach
print "$output"; // Покачто чтобы было видно )
?>
|
| acsid Alfa Guru 2449 |
# Дата: 18 Янв 2007 15:22 Cryptex Посмотри принцип в любой цмс .. или форуме |
| Cryptex Участник 317 |
# Дата: 19 Янв 2007 03:52 Если бы это было так легко, я бы не обращался ![]() |
| Михаил Ушел в бан) 2582 |
# Дата: 19 Янв 2007 04:08 Так, покопался в своей недоделанной CMS и вот что вынес: Во первых, получаешь число картинок и присваиваешь каждой номер. Потом такой код $howmanypages = ceil((count($file))/$com_on_page);
if (isset ($_GET['page'])){$pagen=($_GET['page']);}; if (!isset ($_GET['page'])){$pagen='1';}; if ($pagen <0 or $pagen > $howmanypages){echo"<p align='center'><b>Такой страницы не существует.</b></p>";} else { if ($pagen ==$howmanypages){ $lastcom=(($pagen*$com_on_page)-$com_on_page) + (fmod(count($file),$com_on_page)); }else{ $lastcom =($pagen*$com_on_page); } if (($com_on_page*$howmanypages)== count($file)){$lastcom=$lastcom+5;} ; for($i = (($pagen*$com_on_page)-$com_on_page);$i<$lastcom;$i++){ Здесь вывод картинок, типа echo "<img src='".$i."'.jpg> $com_on_page - количество картинок на странице. <?php };};
echo "<b>Страница:"; for($j=1;$j<=$howmanypages;$j++){ echo '<a href="?module=guest&page=<?=$j?>"><?=$j?></a>'; } закрытие первого цикла и вывод страниц Код не совершеннен, ведь это превый мной написанный скрипт, так что не ругайся. Подредактируй, подправь и т.д. Может пара ошибок тут будут ибо копировал из старого пхпшника не смотря на всякие ";" |
| Cryptex Участник 317 |
# Дата: 19 Янв 2007 06:58 Он както странно себя ведёт... буду сидеть пробовать доделывать ![]() |
| Cryptex Участник 317 |
# Дата: 19 Янв 2007 07:14 ° Поправил: Cryptex Тек.. заработал ёмаё терь надо устранить то, что если файлов нечётное кол-во, то показываются не $com_on_page файлов а др. кол-во.
P.S. и 0.jpg ![]() |
| Михаил Ушел в бан) 2582 |
# Дата: 19 Янв 2007 07:34 Cryptex Я уже не помню точно. Это была гостевуха с комментами. Их отсчет в базе начинался с нуля ![]() |
| Cryptex Участник 317 |
# Дата: 19 Янв 2007 08:34 ° Поправил: Cryptex Ну эт не большая проблема)) сделать просто 0.jpg И усё)) Но вот то, что через 1 ( при добавлении картинок) то нужное количество то ваше 6 ( у меня) вои эт над исправлять
Добавочка... Проблема появляется тогда, когда ($com_on_page*$howmanypages)== $total_files
Вот это: if (($com_on_page*$howmanypages)== $total_files){$lastcom=$lastcom+5;} ; Явно не в кассу... |
| Cryptex Участник 317 |
# Дата: 19 Янв 2007 10:33 Уй добился я своего работает вроде хорошо
Вот то что более работоспособно: $i это количество картинок... $com_on_page = "8";
$total_files = $i;
$howmanypages = ceil($total_files/$com_on_page); //
if (isset ($_GET['page'])){$pagen=($_GET['page']);};
if (!isset ($_GET['page'])){$pagen='1';};
if ($pagen <0 or $pagen > $howmanypages){echo"<p align='center'><b>Такой страниц |
| Cryptex Участник 317 |
# Дата: 11 Мар 2007 12:02 Ещё вопросик, но тут наверно Javascript надо... Вобщем как можно создать, чтобы при наведении на картинку появилось маленькое меню рядом... Например one.lv... |
| WarGot Per aspera ad astra 1951 |
# Дата: 11 Мар 2007 12:53 CryptexЧёт я на one не нашел где там это меню, но предлогаю тебе обрабатывать наведение мыши на картинку <img src="qwe.jpg" onmousemove="alert('Работает наф-)');"> |
| Cryptex Участник 317 |
# Дата: 11 Мар 2007 13:05 ° Поправил: Cryptex не учёл, если человек там не зарегестрирован... другой пример: NetWall.ru З.Ы. тогда хотябы
<img src="qwe.jpg" onmousemove="alert('Работает наф-')";> P.P.S. NetWall.ru не очень удачный пример... там оно к курсору привязано и нажать на что-то в нём невозможно.. ![]() |
| SpiriTzzz Темный джедай 1382 |
# Дата: 11 Мар 2007 14:28 Cryptex тебе чтоль типа много уровневого меню нада? |
| WarGot Per aspera ad astra 1951 |
# Дата: 11 Мар 2007 14:35 SpiriTzzz Ну блин по принципу как в чатах при правом клике на ник меню появляеться где мона выбрать приват, инфу иль ещё чего. Чё нить такое |
| Cryptex Участник 317 |
# Дата: 11 Мар 2007 22:48
что-то типа этого... |
| Cryptex Участник 317 |
# Дата: 13 Мар 2007 07:51 Идей нету? ![]() |
| WarGot Per aspera ad astra 1951 |
# Дата: 13 Мар 2007 08:28 Cryptex Есть. Сёня попробую кой чего написать |
| WarGot Per aspera ad astra 1951 |
# Дата: 13 Мар 2007 15:58 бред корочь. |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:38537, gzipped size:10874 |