Скрипт для перехода к следующему изображению - PullRequest
1 голос
/ 27 декабря 2011

Я пишу скрипт для отображения изображений на моем сайте. Изображения хранятся на сервере, а источник (путь) находится в базе данных MySQL. Я хочу иметь возможность перейти к следующему (или предыдущему изображению), вызвав две функции php, которые я сделал для этого. Код, который я написал до сих пор:

<?php

require "db_connection.php";

$query="SELECT source FROM photos";
$result=mysql_query($query);

$count=0;
$numberofpics=mysql_num_rows($result);

$image=mysql_result($result, $count, "source");


$num=1;

function slideshowForward() {
$num=$num+1;
if($num==($numberofpics+1)) {
$num=1;
}
$count=$count+1;
$image=mysql_result($result, $count, "source");
}

function slideshowBack() {
$num=$num-1;
if ($num==0) {
$num=$numberofpics;
}
$count=$count-1;
$image=mysql_result($result, $count, "source");
}
?>

HTML-часть для отображения изображений:

<!-- FORWARD AND BACK FUNCTIONS-->

<a class="back" href="http://mywebsite.com/discoverandrank.php?function=slideshowBack()">         <img src="graphics/back.png"/></a>

<a class="next" href="http://mywebsite.com/discoverandrank.php?   function=slideshowForward()"><img src="graphics/forward.png"/></a>

<!--DISPLAY MIDDLE PHOTO-->

<div id="thepics">
<img src="http://www.mywebsite.com/<?php echo $image; ?>" name="mypic" border=0   height="300" width="500"></img>
</div>

Я почти уверен, что скрипт php увеличивает / уменьшает счетчик в настоящее время для изображения, но я думаю, что проблема может быть в том, что часть html (особенно img src = "....") оценивается, когда увеличивается количество изображений?

1 Ответ

0 голосов
/ 27 декабря 2011

Ммм, здесь нужно отметить две вещи:

  1. Я думаю, что передача имени функции в качестве параметра в действии не очень хорошая идея, вместо этого вы должны использовать что-то вроде: "http://mywebsite.com/discoverandrank.php?op=next&current=10" и затем оцените операционное и текущее значение, чтобы предпринять какое-то действие.
  2. Для получения следующего изображения из базы данных вы можете использовать что-то вроде этого: «Выбрать источник ИЗ ФОТОГРАФИЙ ОГРАНИЧЕННЫЙ» current + 1 ", 1"
  3. Для получения предыдущего изображения из базы данных вы можете использовать что-то вроде этого: «Выбрать источник ИЗ ФОТОГРАФИЙ ПРЕДЕЛ« current-1 », 1»

Таким образом, вам не нужно хранить счетчикии прочее, просто нужно проверить, возвращают ли эти запросы какие-либо данные.

Надеюсь, это поможет!

...