Вы могли бы сделать это с помощью JQuery. Разместите гиперссылку под списком пациентов. Обработайте событие щелчка по ссылке, выбрав следующую страницу пациентов через AJAX и добавив ее в список. Сохраните глобальную переменную Javascript для отслеживания номера текущей страницы.
Ниже приведен пример. Для простоты первая страница пациентов также загружается через AJAX. list.php
- ваш сценарий, который обрабатывает запрос AJAX и записывает запрошенную страницу пациентов в виде последовательности элементов списка HTML.
JQuery:
var currentPage = 0;
$(document).ready(function() {
// Load the first page into the list
loadNextPage();
// When the link is clicked load the next page
$('#add-more-patients-link').click(function() {
loadNextPage();
return false;
});
});
function loadNextPage() {
// Increment the page counter
currentPage++;
// Fetch the next page through AJAX and append to the list
$.get('list.php', {page:currentPage}, function(data) {
$('#patients').append(data);
});
}
HTML:
<ul id="patients">
</ul>
<a id="add-more-patients-link" href="">Load more</a>
Предостережение: Если внутренний список пациентов обновляется между загрузками страницы, список на стороне клиента будет рассинхронизирован. Это приведет к дублированию записей для некоторых пациентов в списке. Если это проблема, отслеживайте последний загруженный идентификатор пациента на клиенте и передайте его в запросе AJAX. На стороне сервера загрузите страницу, предшествующую этому идентификатору пациента.