|
|
|
| Здравствуйте!
Есть галерея. На главной странице выводится по 5 фоток из галереи, под ними постраничная навигация. В общем, стандартный пейджер.
А сверху есть поисковая форма для поиска фоток по описанию, меткам и т.д. Нужно чтобы найденная фотка выводилась подсвеченной на нужной странице. То есть необходимо по найденной фотке определить нужную страницу, выбрать 5 фоток и вывести с постраничной навигацией.
Собственно с алгоритмом проблем нет (или есть?) - выбираем все фотки, определяем позицию найденной фотки в результирующем массиве (total), total делим на 5, получаем искомую страницу...дальше определяем start и т.д.
Вопрос. Как более оптимально определить позицию искомого элемента в результирующем массиве и можно ли это сделать в запросе?
А то я топорно поступаю - тащу из базы кучу данных, далее с помощью foreach() опоределяю позицию элемента... | |
|
|
|
|
|
|
|
для: 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"));
?>
|
| |
|
|
|
|
|
|
|
для: Sfinks
(05.12.2011 в 23:23)
| | Спасибо! | |
|
|
|