2010-09-27 3 views
1

Эй, ребята, я действительно ввязываюсь в это.Проблема с разбиением на страницы - еще не успел

Это я делаю: если есть 100 пользователей для извлечения из базы данных, я использую разбиение на страницы и показываю 10 пользователей за раз. когда пользователь нажмет на следующую страницу, он получит следующих 10 пользователей через ajax (называемый ajax при щелчке) и так далее. Сейчас я показываю 10 ссылок на страницы с первой, следующей и предыдущей ссылками.

Вот как будет идти поток: на a.php созданы ссылки и называется ajax-функцией с каждой ссылкой, передавая url (b.php) & target (где я получу результат), с url также проходящим щелчком pageno., это pageno. перейдет к b.php, и следующие 10 пользователей будут показаны с помощью ajax.

Это проблема: В настоящее время я показываю 1-10 ссылок с первой и последней ссылкой, не могу показать следующие и предыдущие ссылки, потому что для перенаправления на следующий или предыдущий я не получаю текущий номер страницы на. php, т.е. я перехожу к b.php. также ссылки создаются в цикле foreach. Я стараюсь сделать это, но пока не удался.

ждем ценный ответ.

ответ

0

Хорошо, я думаю, Я понимаю ...

Я думаю, что вам нужно сделать, это сохранить номер текущей страницы в качестве переменной JavaScript. Используйте функцию, которая выполняет Ajax, чтобы обновить эту переменную, а также обновить следующие/предыдущие ссылки.

Надеюсь, это поможет.

Обновление: На второй взгляд, вот лучшая идея. Наличие вашего аякс-звонка прямо в вашей ссылке означает, что вам нужно собрать URL-адрес и обновить его, что неудобно и раздражает. Это не идеально. Вместо этого лучше хранить переменные, и некоторые функции набора работают с ними определенным образом. Таким образом, вы могли бы иметь что-то вроде:

<a href="javascript:void(0)" onclick="gotoNextPage()"> 

Вместо того, передавая им номер страницы, чтобы перейти, вы можете сохранить номер текущей страницы в Javascript переменной и сделать что-то вроде этого:

gotoNextPage(){ 
    // lets assume the current page number is stored in a 
    // variable defined outside of this function called curr_page 
    curr_page++; // increment the current 
    call_ajax('user_info.php?pageno='+curr_page); 
} 

Таким образом, код для ссылки не меняется.

Вы можете передать другие переменные (например, 'order', 'perpage' и т. Д.) В gotoNextPage(), но вы можете обнаружить, что вам это не нужно.

Несколько вещей, которые нужно иметь в виду: 1. Использование jQuery или что-то подобное, вероятно, облегчит вам задачу. 2. Любой, кто не поддерживает javascript, не сможет использовать ваш сайт. Попробуйте изменить его на что-то вроде

<?php 
    echo '<a href="your_main_page.php?page_number=', ($curr_page + 1), '" onclick="gotoNextPage()">'; 
?> 

Таким образом, он будет работать через Ajax метод, но также будет работать (если не так гладко, и с перезагрузки страницы) для людей без JavaScript. Это немного больше работы для вас, хотя ... так что шляпа на ваш выбор!

Надеюсь, что это имеет смысл. Это был долгий день!

+0

Эй, это довольно запутанно здесь, как вы сказали, чтобы обсудить следующие и предыдущие ссылки со страницей №. Я пытался сделать это с помощью функции вызова, но я не знаю, как я могу обновить переменную php (в следующей и предыдущей переменной) в функции javascript. см. это код для ссылки: echo "$p". ""; так что это ссылка, вы можете пролить свет купола, пожалуйста. – Rishi2686

+0

Я обновил свой пост с лучшим примером. –

+0

Вы когда-нибудь решали это? –

Смежные вопросы