Мой PHP код, который тянет в данных выглядит следующим образом:PHP и MySQL - Отображение данных правильно
$start = (isset($_GET['start']) ? (int)$_GET['start'] : 0);
$result = mysqli_query($con,"SELECT * FROM menuitem LIMIT $start, 4");
if (!$result) {
printf("Error: %s\n", mysqli_error($con));
exit();
}
мои данные отображаются с лимитом 4 на стр. Я создал ссылку «Далее» и «Предыдущая», в которой отображаются следующие или предыдущие четыре элемента.
echo "<table width=\"1024\" align=\"center\" >";
echo "<tr height=\"50\"></tr>";
$prev = $start - 4;
echo '<td><a href="?start=' . $prev . '">Previous Items</a></td>';
$next = $start + 4;
echo '<td><a href="?start=' . $next . '">Next Items</a></td>';
echo "</table>";
Проблема, с которой я столкнулся, заключается в том, что кнопка «Следующие элементы» продолжает пропускать количество элементов, которые у меня есть в моей базе данных. Мне нужно ограничить это и «Предыдущие элементы», поэтому ссылка «Следующие элементы» не выходит за пределы моей базы данных, а «Предыдущие элементы» не идут на отрицательное число. Я не был уверен, как это сделать. Есть идеи?
А что вы пытались решить эту проблему? – kero
По сути, это отличная идея иметь запрос «выбрать счет», который соответствует вашему регулярному запросу «выбрать окно» при выполнении страниц ... Без учета, как бы вы узнали? –
Вчера я ответил на очень похожий вопрос: http://stackoverflow.com/questions/20364349/multiple-pages-using-mysql-limit-offset, который, как я думал, дал довольно хорошую инструкцию по разбивке на страницы. Здесь вы, кажется, даже не пытаетесь определить количество записей в таблице. Без этого вы не сможете надежно создавать следующие/предыдущие ссылки. Вы также не потрудились фильтровать свой ввод, поскольку я показал, что у вас есть уязвимость в SQL-инъекции. Вы действительно должны вернуться к этому примеру и убедиться, что вы это поняли, прежде чем открывать дополнительные вопросы. –