Нужно вывести по 3 записи на страницу, без перезагрузки страницы. Вроде просто, пишу:
$conn = mysqli_connect('localhost','root','','Blog');
$query = 'select * from Notes limit 0, 3';
$result = mysqli_query($conn, $query);
$data = mysqli_fetch_all($result, MYSQLI_ASSOC);
, заменить числа на переменные и будет счастье. Но при замене выдает ошибку в последней строке "mysqli_fetch_all() expects parameter 1 to be mysqli_result". Уже часов 5 ломаю голову над этой пагинацией, может посоветуете что ? Переменные оборачивал в {}, и двойные фигурные пробовал,и кавычки одинарные-двойные. Беда из-за плохого знания методов на мой взгляд, но сроки жмут, а нужные мысли и статьи все не приходят =(
Скорее проблема не в числах, а в отсутствии данных на следующих страницах, из-за чего $result == false
То есть нужно обернуть результат
if ($result) {
$data = mysqli_fetch_all($result, MYSQLI_ASSOC);
}
У меня в проекте такие пагинаторы
public function getForPage($table, $page, $perPage = 10)
{
$from = ($page - 1) * $perPage;
$table = $this->wrapColumn($table);
$sql = "SELECT * FROM " . $table .
" ORDER BY `id` DESC LIMIT " . (int) $from . ', ' . (int) $perPage;
return $this->db->query($sql) ?: [];
}
private function wrapColumn($column)
{
return '`' . $this->db->real_escape_string($column) . '`';
}
По HTML это так выглядит (Bootstrap):
<ul class="pagination">
<?php if ($page == 1) { ?>
<li class="disabled"><span>Назад</span></li>
<?php } else { ?>
<li><a href="<?=url($url, ['page' => $page - 1]);?>" rel="prev">Предыдущая</a></li>
<?php } ?>
<?php if (isset($hasNextPage) && $hasNextPage) { ?>
<li><a href="<?=url($url, ['page' => $page + 1]);?>" rel="next">Следующая</a></li>
<?php } else { ?>
<li class="disabled"><span>Следующая</span></li>
<?php } ?>
</ul>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Мое приложение имеет возможность авторизации двух разных пользователей, Докторов и Пациентов, с различными полями вводаКак использовать...