Мне нужно сделать простой поиск по сайту с разбивкой на страницы; может ли кто-нибудь сказать мне, как это сделать, не влияя на структуру URL? В настоящее время я использую структуру URL CodeIgniter по умолчанию, и я удалил из нее index.php
. Какие-либо предложения?Поиск по сайту с помощью CodeIgniter?
ответ
Не совсем понимаю, что вы подразумеваете под воздействием структуры URL. Вы имеете в виду, что вы хотите, чтобы разбиение на страницы происходило без изменения URL-адреса вообще?
Стандартный класс пагинации в CI позволит вам настроить пагинацию так, что единственное изменение в URL будет номер на конце
, например, если у вас было 5 результатов на страницу ваших ссылки могут быть
http://www.example.com/searchresults
, а затем страница 2 будет
http://www.example.com/searchresults/5
и страница 3 будет
http://www.example.com/searchresults/10
и так далее.
Если вы хотите сделать это без каких-либо изменений в URL-адресе, тогда используйте ajax, я думаю.
Вы можете использовать только URL-адрес /search/search_term/page_number
.
Установите маршрут, как это:
$route['search/:any'] = "search/index";
И ваш контроллер, как это:
function index()
{
$search_term = $this->uri->rsegment(3);
$page = (! $this->uri->rsegment(4)) ? 1 : $this->uri->rsegment(4);
// some VALIDATION and then do your search
}
код воспламенитель отключает GET запросов по умолчанию, но вы можете создать альтернативный если вы хотите url, чтобы показать строку поиска.
Ваш URL может быть в обозначениях www.yoursite.com/index.php/class/function/request1:value1/request2:value2
$request = getRequests();
echo $request['request1'];
echo $request['request2'];
function getRequests()
{
//get the default object
$CI =& get_instance();
//declare an array of request and add add basic page info
$requestArray = array();
$requests = $CI->uri->segment_array();
foreach ($requests as $request)
{
$pos = strrpos($request, ':');
if($pos >0)
{
list($key,$value)=explode(':', $request);
if(!empty($value) || $value='') $requestArray[$key]=$value;
}
}
return $requestArray ;
}
Просто для обновления этого вопроса. Это, вероятно, лучше использовать следующую функцию:
$uri = $this->uri->uri_to_assoc()
и результат будет затем положить все в ассоциативный массив следующим образом:
[array]
(
'name' => 'joe'
'location' => 'UK'
'gender' => 'male'
)
Подробнее о URI Class at CodeIgniter.com
- 1. Laravel - Поиск по сайту с помощью Eloquent
- 2. Расширенный поиск по сайту с помощью google
- 3. Полный поиск по сайту?
- 4. поиск по сайту с Yii
- 5. Поиск по статическому сайту
- 6. Поиск по сайту ASP.NET
- 7. Корпоративный поиск по сайту
- 8. мгновенный поиск по сайту
- 9. Поиск по сайту
- 10. Внутренний поиск по сайту
- 11. Поиск по сайту по категориям
- 12. CodeIgniter Поиск по строке с помощью получить
- 13. ASP.net - Статический поиск по сайту
- 14. php, mysql поиск по сайту
- 15. Поиск по сайту Google - cookie?
- 16. Расширенный поиск навигация по сайту
- 17. ASP.NET: Внутренний поиск по сайту
- 18. Umbraco 5: поиск по сайту
- 19. Открытие и поиск по сайту с кодом
- 20. Поиск по сайту для связи с Google?
- 21. Как отслеживать поиск по сайту AJAX с помощью Google Analytics?
- 22. Rails поиск по сайту с помощью примера Bing API?
- 23. Java/JDBC - Поиск по нескольким параметрам Поиск по сайту
- 24. GA Протокол измерений: Поиск по сайту
- 25. Поиск по API и поиск по сайту работают разные
- 26. Поиск по сайту (Android) - Поиск по прямой ссылке
- 27. Поиск по всему сайту в приложении rails
- 28. Поиск по сайту WordPress вызывает аутентификацию apache
- 29. как сделать fda наркотиков поиск по сайту
- 30. Поиск по сайту created_by_alias в Joomla! content
да, но как я бы передал поисковый запрос на следующую страницу ??? – sonill
Вы можете использовать скрытое поле – Kenzo
или использовать flashdata – bradfields