Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как извлечь из url переменные для навигации?
 
 автор: FiX   (25.10.2005 в 22:29)   письмо автору
 
 

Вот этот код выводит фотографии, с ним все в порядке. Маленькие фотки хранятся в папке small, большие - в large. При нажатии на картику попадаешь на страницу с большой картинкой (на станицу view.php). Подскажите, пожалуйста, как сделать мне навигацию для страницы view.php? В смысле, самую простую - Предыдущая фотография || Следующая фотография ...

<?
$col
=3;
$row=3;
$dir="studiowork/small";
$tndir[0]="studiowork/small";
// you can add more in a similar way
if ((!isset($gal))) {
print 
"<center><h4>Сейчас Вы попадете на страницу<br>\"Студийные работы\"...</h4></center>";
print 
"<META HTTP-EQUIV='Refresh' CONTENT='0; URL=\"galerry.php?gal=0\"'>";
$i=0;
}else {
?>
<center>
<table border="0" cellspacing="10" cellpadding="1">
<?
if (!isset($pg)){
$pg=0;
};
$handle=opendir($dir);
$i=0;
while (
$file readdir($handle)) {
if ((
eregi("jpg",$file)) || (eregi("gif",$file))){
$folder[$i]=$file;
$i=$i+1;
};
};
closedir($handle);
# sort($folder);
$a=0;
$count=$row*$col*$pg;
for (
$r=1$r<=$row$r++) {
print 
"<tr>";
if (
$count>$i-1) {break;};
for (
$c=1$c<=$col$c++) {
$tnpath=$tndir[$gal]."/".$folder[$count];
print 
"<td width=170 bgcolor=ececec valign=\"center\" align=\"center\"><a href=\"view.php?id=$folder[$count]&gal=$gal&pg=$pg&count=$count\"><img style=\"border:1px solid;border-color:black;\" src=\"$tnpath\" vspace=20></a><td valign=\"center\">"$count++;
if (
$count>$i-1) {break;};
} ;
print 
"</tr>";
}  ;
print 
"</table><h2>";
if (
$pg>0) {
$tmp=$pg-1;;
print 
"<a href=\"$PHP_SELF?pg=$tmp&gal=$gal\" class=menu>Назад</a>" ;
};
$tmp=$pg+1;
print 
"&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
if (
$tmp*$row*$col<$i) {
$tmp=$pg+1;
print 
"<a href=\"$PHP_SELF?pg=$tmp&gal=$gal\" class=menu>Далее</a>" ;
};
print 
"</h2>";
};
?>

А Вот файл view.php. Сюда и надо сделать эту самую навигацию :\

<?
$path
=$picurl[$gal]."/".$id;
print 
"<tr><td align=center><img src=\"studiowork/large$path\"></center>";
?>

Файл view.php очень простой, и сейчас неудобный для просмотра.
Да простят меня все, кому я уже надоел своими вопросами :|

   
 
 автор: cernos   (26.10.2005 в 12:04)   письмо автору
 
   для: FiX   (25.10.2005 в 22:29)
 

Надо будет тебе помоч, думаю что сегодня ты получишь ответ!
Щас попробую стряпать кодик!
:)

   
 
 автор: himic   (26.10.2005 в 12:22)   письмо автору
 
   для: cernos   (26.10.2005 в 12:04)
 

объясню принцип, у меня так с датами

читаешь директорию файлов больших фоток
получаешь массив
делаешь две кнопочки, обзываешь их по именам

В начале заводишь сессию и запоминаешь номер массива который ты передал первый раз
session_start();
if (!session_is_registered('nomer')) :
$nomer=$nomerstart;
session_register('$nomer') ;
endif;

а при последующих нажатиях взад вперёд проверяешь что именно было нажато + или -(isset($plus))или isset($minus) )
если + то номер массива= номер массива+1
если - то номер массива=номер массива-1
вроде не мудрёно объяснил

   
 
 автор: cernos   (26.10.2005 в 16:42)   письмо автору
 
   для: FiX   (25.10.2005 в 22:29)
 

Ну вот смотри, сдеся вроде бы ничо сложного нема:
Берем твой view.php

<?
//Давай посмотрим скока у нас файлов в данной директории
//Производим подсчет
//Кусок взят из твоего верхнего листинга и немного подправлен, под
//этот файл
$handle=opendir($dir); 
$i=0
while (
$file readdir($handle)) { 
if ((
eregi("jpg",$file)) || (eregi("gif",$file))){ 
$i++; 
}
}
//Теперь в перем-й $i мы имеем кол-во изобр-й в папке
//После нужно создать ссылки вперед и назад
//И необходимо сделать проверку, если куда нам возвращаться и куда идти вперд
//Чтоб ненапороться на id изображения которого нету
$link_prev=$link_next="";
if((
$id-1) <$i$link_prev="<a href='view.php?id=".($id-1)."&gal=$gal&pg=$pg&count=$count' title=Предыдущая>Предыдущая</a>";

if((
$id) >0$link_next="<a href='view.php?id=".($id+1)."&gal=$gal&pg=$pg&count=$count' title=Следующая>Следующая</a>";


echo 
"<center>".$link_prev."|".$link_next."</center>";

$path=$picurl[$gal]."/".$id
print 
"<tr><td align=center><img src=\"studiowork/large$path\"></center>"
?> 


Попробуй так, непроверял на работоспособность, но вроде бы оно!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования