Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   Помогите с фотогалереей (http://www.flasher.ru/forum/showthread.php?t=34755)

luceferic 21.07.2002 10:32

Помогите с фотогалереей
 
Помогите проверить script!!! Будет ли он работать??
И что надо изменить для этого? Хотелось бы сделать 60
ссылок на 1,2,3,4 ..60 картинку. Помогите. Или у кого-то
есть лучше script?

<b>Картинка №<?php $page;?></b></a>
<img src=<?php $page;?>.jpg border=1><br>

<?php
if(($page > 1)&&($page < 60) {
$prev = $page-1;
$next = $page+1;
echo "<a class=\"text\" href=\"animal.php?page=$prev\"><img src=\"arrow_l.gif\" border=\"0\">&nbsp;<b>Предыдущая</b></a>";
echo "<a class=\"text\" href=\"animal.php?page=$next\"><b>Следующая</b>&nbsp;<img src=\"arrow.gif\" border=\"0\"></a>";
}
if($page == 1) {
$prev = 60;
$next = $page+1;
echo "<a class=\"text\" href=\"animal.php?page=$prev\"><img src=\"arrow_l.gif\" border=\"0\">&nbsp;<b>Предыдущая</b></a>";
echo "<a class=\"text\" href=\"animal.php?page=$next\"><b>Следующая</b>&nbsp;<img src=\"arrow.gif\" border=\"0\"></a>";
}
if($page == 60) {
$prev = $page-1;
$next = 1;
echo "<a class=\"text\" href=\"animal.php?page=$prev\"><img src=\"arrow_l.gif\" border=\"0\">&nbsp;<b>Предыдущая</b></a>";
echo "<a class=\"text\" href=\"animal.php?page=$next\"><b>Следующая</b>&nbsp;<img src=\"arrow.gif\" border=\"0\"></a>";
}
?>

<br>
<a class=title_num href=animal.php?<?php page=1;?>>[01]</a>
<a class=title_num href=animal.php?<?php page=2;?>>[02]</a>
............................
............................

advocat 21.07.2002 10:57

у тебя канешно немного неверный подход, посмотрев скрипт, если я тебя правильно понимаю, то у тебя просто возникла проблема вывести предыдущую и слудующую страницу.
Если да, то тогда пишется все намного проще.
Код:

<?php
if ($page > 1 && $page < 60) {
  $prev = $page-1;
  $next = $page+1;
  echo "<a class=\"text\" href=\"animal.php?page=$prev\"><img src=\"arrow_l.gif\" border=\"0\"> <b>Предыдущая</b></a>";
  echo "<a class=\"text\" href=\"animal.php?page=$next\"><b>Следующая</b> <img src=\"arrow.gif\" border=\"0\"></a>";
} elseif ($page == 1) {
  $prev = 60;
  $next = $page+1;
  echo "<a class=\"text\" href=\"animal.php?page=$prev\"><img src=\"arrow_l.gif\" border=\"0\"> <b>Предыдущая</b></a>";
  echo "<a class=\"text\" href=\"animal.php?page=$next\"><b>Следующая</b> <img src=\"arrow.gif\" border=\"0\"></a>";
} elseif ($page == 60) {
  $prev = $page-1;
  $next = 1;
  echo "<a class=\"text\" href=\"animal.php?page=$prev\"><img src=\"arrow_l.gif\" border=\"0\"> <b>Предыдущая</b></a>";
  echo "<a class=\"text\" href=\"animal.php?page=$next\"><b>Следующая</b> <img src=\"arrow.gif\" border=\"0\"></a>";
}
?>

А вот насчет
Цитата:

<a class=title_num href=animal.php?<?php page=1;?>>[01]</a>
<a class=title_num href=animal.php?<?php page=2;?>>[02]</a>
Это к чему было написано, это же можно циклом сделать!

nagash 21.07.2002 16:05

на пути к уменшению кода =)
если уж уменьшать код то глобально!
Код:

<?
if (1 < $page && $page < 60) {
  $prev = $page-1;
  $next = $page+1;
} else {
  $prev = ($page == 60) ? 59 : 60;
  $next = ($page == 60) ? 1 : 2;
}
echo "
<a class=\"text\" href=\"animal.php?page=$prev\"><img src=\"arrow_l.gif\" border=\"0\"> <b>Предыдущая</b></a>
<a class=\"text\" href=\"animal.php?page=$next\"><b>Следующая</b> <img src=\"arrow.gif\" border=\"0\"></a>";
?>

еххх =)

luceferic 22.07.2002 07:50

Будет ли работать?
 
:rolleyes:
Допустим я имею код PHP в документе index.php

Картинка №<?php $page;?>
<img src=<?php $page;?>.jpg border=1>

<?php
if ($page>1 && $page<60) {
$prev=$page-1;
$next=$page+1;
echo "<a href=\"index.php?page=$prev\">Предыдущая</a>";
echo "<a href=\"index.php?page=$next\">Следующая</a>";
} elseif ($page==1) {
$prev=60;
$next=$page+1;
echo "<a href=\"index.php?page=$prev\">Предыдущая</a>";
echo "<a href=\"index.php?page=$next\">Следующая</a>";
} elseif ($page==60) {
$prev=$page-1;
$next=1;
echo "<a href=\"index.php?page=$prev\">Предыдущая</a>";
echo "<a href=\"index.php?page=$next\">Следующая</a>";
}
?>

Что случится, если я нажму на данную ссылку в документе?
<a href=index.php?<?php page=10?>>[10]</a>

Присвоется ли переменной page число 10, до открытия документа index.php?
Будет ли видна надпись Картинка №10?
Появится ли картинка 10.jpg?
И будет ли переменная page использоваться в php коде?
Основа index.php не нужно менять под каждую .jpg?
И что означает index.php?page=10 в Адрес, когда появится
10.jpg и будет ли так?

Извините, что так много спрашиваю, но хотелось бы поточнее
узнать обо всем этом. Знает ли кто-нибудь, если вставить
мой код в index.php будет ли он работать?????????
Спасибо заранее всем. А также Advocat и Nagash за ответы!

advocat 22.07.2002 10:21

Цитата:

Присвоется ли переменной page число 10, до открытия документа index.php?
Будет ли видна надпись Картинка №10?
Появится ли картинка 10.jpg?
И будет ли переменная page использоваться в php коде?
Основа index.php не нужно менять под каждую .jpg?
И что означает index.php?page=10 в Адрес, когда появится
10.jpg и будет ли так?

Извините, что так много спрашиваю, но хотелось бы поточнее
узнать обо всем этом. Знает ли кто-нибудь, если вставить
мой код в index.php будет ли он работать?????????
В таком случае обьясню
index.php?page=10, ты автоматически присваиваешь. точнее передаешь методом гет именно 10 картинку.
По поводу того, что если открыть index.php . без указания page, то у тебя появится неизвестно, что! Тебе нужно немного модернизировать первые строки:
И лучше используй код, котрый предложил нагаш !
Код:

<?php
if (1 < $page && $page < 60) {
  $prev = $page-1;
  $next = $page+1;
} else {
  if (isset($page)) { // если переменной не существует
    $prev = 60;
    $next = 2;
  } if ($page == 1) {
    $prev = 60;
    $next = 2;
  } if ($page == 60) {
    $next = 1;
    $prev = 59;
  }
}
echo "<a href=\"index.php?page=$prev\">Предыдущая</a>";
echo "<a href=\"index.php?page=$next\">Следующая</a>";
 
?>



Часовой пояс GMT +4, время: 03:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.