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

Форум PHP

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

 

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

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

тема: определить страницу по id элемента (в постраничном выводе)
 
 автор: konkere_wins   (05.12.2011 в 22:24)   письмо автору
 
 

Здравствуйте!

Есть галерея. На главной странице выводится по 5 фоток из галереи, под ними постраничная навигация. В общем, стандартный пейджер.

А сверху есть поисковая форма для поиска фоток по описанию, меткам и т.д. Нужно чтобы найденная фотка выводилась подсвеченной на нужной странице. То есть необходимо по найденной фотке определить нужную страницу, выбрать 5 фоток и вывести с постраничной навигацией.

Собственно с алгоритмом проблем нет (или есть?) - выбираем все фотки, определяем позицию найденной фотки в результирующем массиве (total), total делим на 5, получаем искомую страницу...дальше определяем start и т.д.

Вопрос. Как более оптимально определить позицию искомого элемента в результирующем массиве и можно ли это сделать в запросе?

А то я топорно поступаю - тащу из базы кучу данных, далее с помощью foreach() опоределяю позицию элемента...

  Ответить  
 
 автор: Sfinks   (05.12.2011 в 23:23)   письмо автору
 
   для: konkere_wins   (05.12.2011 в 22:24)
 

<?
  $need_id 
125;
  
// запрос - количество элементов с ИД меньше искомого
  
$res mysql_fetch_array(mysql_query("SELECT count(`id`) FROM `table` WHERE `id` < $need_id"));
  
$res $res[0];
  
// а потом при выборке указать сортировку по ИД
  
$pic mysql_fetch_array(mysql_query("SELECT * FROM `table` WHERE `id`=$need_id ORDER BY `id` LIMIT $res,1"));
?>

  Ответить  
 
 автор: konkere_wins   (06.12.2011 в 07:20)   письмо автору
 
   для: Sfinks   (05.12.2011 в 23:23)
 

Спасибо!

  Ответить  
Rambler's Top100
вверх

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