форум вебмастеро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>Такой страниц 
ы не существует.</b></p>";} else { if ($pagen ==$howmanypages){ $lastcom = $i; }else{ $lastcom =($pagen*$com_on_page); } //Тута вырезана вся строка for($u = (($pagen*$com_on_page)-$com_on_page + 1);$u<$lastcom+1;$u++){ echo "<center><img src='/modules/userbars/im/$u.gif' width='350' height=
'20'></center><br><br>"; } } print "<center>"; print "<b>Страница: </b>"; for($j=1;$j<=$howmanypages;$j++){ print "<a href='?page=$j'>$j</a> "; } print "</center><br>";


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


бред корочь.

Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:38537, gzipped size:10874

Mp3 Download || Мир Спанч боба || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]