По какой-то причине значение строки не обновлялось после того, как вы впервые достигли нижней части страницы. Итак, я создал отдельный файл php, который извлекал значение stati c из 200 строк при первом нажатии кнопки. Этот php файл был вызван в новой функции. Он был идентичен исходной функции ajax, за исключением того, что не было части data:{row:row}
. Вместо того, чтобы иметь значение $row
be $_POST['row']
, я просто сделал его 200:
Первое нажатие кнопки, вызванное новой функцией:
$('#server_unused_ip_btn').on('click', function() {
//getUnused(row);
getUnused(); //<-- No parameter this time
});
В новой версии функции то есть, вместо этого я присвоил значение row
, которое будет отправлено числу строк в таблице, например:
function getUnused() {
$('input').not("input[type='hidden']").val('');
$.ajax({
url: 'includes/search_ajax/get-unused-server-addresses.php',
type: 'post',
success: function(data) {
$('#server_result_table tbody').html(data);
let row = $('#server_result_table tr').not('thead tr').length; //<-- Here is how row is calculated now
$('#unused_row').val(row); //<-- Now give the hidden input the new value
$('#counter_text').text('Showing '+ row + ' out of <?php echo $allcount; ?> results'); //<-- Correctly update the text with new value of row
},
error: function(jqXHR, status, error) {
console.log('Error: '+error);
}
})
}
Теперь мои MySQL запросы отражают изменение, исправившее его:
SELECT * FROM network_servers where (ping_response = 'N' and mac_address = 'n/a') ORDER BY INET_ATON(ip_address) LIMIT 200,200
SELECT * FROM network_servers where (ping_response = 'N' and mac_address = 'n/a') ORDER BY INET_ATON(ip_address) LIMIT 400,200
SELECT * FROM network_servers where (ping_response = 'N' and mac_address = 'n/a') ORDER BY INET_ATON(ip_address) LIMIT 600,200
SELECT * FROM network_servers where (ping_response = 'N' and mac_address = 'n/a') ORDER BY INET_ATON(ip_address) LIMIT 800,200
Таким образом, короче говоря, при первом нажатии кнопки выполняется запрос, который получает значение stati c 200, а затем при прокрутке вниз страницы это когда новое значение отправляется через ajax путем подсчета количества имеющихся строк. Это работает, если кто-то не предложит лучшего решения, которое я с радостью приму.