Использование $ current_index + 1 и $ current_index - 1 может не работать, если ключи массива не последовательные. Вот лучший способ найти ключ массива относительно текущего.
function array_key_relative($array, $current_key, $offset = 1, $strict = true) {
// create key map
$keys = array_keys($array);
// find current key
$current_key_index = array_search($current_key, $keys, $strict);
// return desired offset, if in array, or false if not
if(isset($keys[$current_key_index + $offset])) {
return $keys[$current_key_index + $offset];
}
return false;
}
Я нахожу эту функцию довольно полезной для предыдущей и следующей кнопок и часто ее использую.
Конечно, теперь вам нужно будет сохранять условия поиска в своем URL, чтобы вы могли выполнять поиск при каждой загрузке страницы. Как то так:
http://www.example.com/search/?s=some+search&row=4
... затем выполните поиск и отобразите номер результата 4. Ваши предыдущие и следующие кнопки будут ссылаться на номер строки и делать что-то вроде этого:
$previous_key = array_key_relative($search_results, $current_row, -1);
$next_key = array_key_relative($search_results, $current_row, 1);
Это должно сделать это.