Показывать следующее или предыдущее изображение в массиве - PullRequest
0 голосов
/ 16 апреля 2011

Я хотел бы отображать одно изображение за раз на веб-странице. Я использовал запрос, чтобы получить набор изображений из базы данных в массив. Я пробовал по этим направлениям:

$my=& JFactory::getUser();
$db=& JFactory::getDBO();
$a=& $my->id;
$query="SELECT id FROM jos_phocagallery_categories WHERE accessuserid='$a'";
$db->setQuery($query);
$r=$db->loadResult();
$queryc="SELECT filename FROM jos_phocagallery WHERE catid='$r'";
$db->setQuery($queryc);
$results=$db->loadResultArray();
$image=current($results);
echo 'imgag srx="images/phocagallery/'.$image.'" />';

Я изменил строку эха выше, потому что линия не была разрешена

После этого кода я попытался добавить кнопку ввода, которая вызывает «next ($ results)», а затем заменить $ image, но кажется, что весь запрос снова выполняется с самого начала. Поэтому я не могу получить указатель массива, чтобы сделать шаг вперед. Даже в эхо.

Что я делаю не так?

С уважением / Виктор

1 Ответ

0 голосов
/ 16 апреля 2011

Если вы перезагружаете страницу, чтобы перейти к следующему изображению, вам нужно будет передать идентификатор или ключ массива на следующую страницу, чтобы он знал, где вы остановились.Другой вариант заключается в том, чтобы пройти по массиву без перезагрузки страницы, вместо этого используя Javascript для загрузки следующего изображения и замены текущего при нажатии кнопки.

РЕДАКТИРОВАТЬ

Хорошо, с этой информацией вам определенно нужно будет использовать Javascript, чтобы она заработала.Хотя Joomla поставляется с Mootools, я предпочитаю jQuery частично из-за наличия плагинов для всякого рода вещей.Я не выглядел слишком усердно, но этот плагин с карусельными изображениями можно было легко модифицировать, чтобы он делал то, что вам нравится, просто изменив его так, чтобы отображать по одному изображению за раз вместо трех.

http://www.gmarwaha.com/jquery/jcarousellite/index.php

С небольшим поиском в Google вы даже сможете найти точное совпадение.

...