Я работаю над сеткой, которая отображает количество записей на основе некоторых фильтров. Я хочу разбивать их на страницы, когда пользователь нажимает ссылку « Показать больше» внизу таблицы. Я попытался выполнить поиск, но нашел номер страницы или какой-то автоматический прокрутки. Но как я могу работать в своем сценарии? До сих пор мое исследование, я должен буду написать функцию onclick ссылки, получить следующую партию записей (скажем, 20 по каждому запросу) с помощью ajax. Но как будет работать часть программирования. Я использую PHP на сервере end и Mysql как моя БД Может кто-нибудь направить меня на это. Спасибо за ваше время.
if(isset($_GET['page'])) { $page=$_GET['page']; } else { $page=1; } if(isset($_GET['dark'])) { $max_result=$_GET['dark']; } else { $max_result=5; } $from=(($page*$max_result)-$max_result); mysql_select_db("db",$con); $sql = "SELECT COUNT(*) FROM `db`.`table` "; $result=mysql_query($sql); $total_result=mysql_result($result,0); $total_pages=ceil($total_result/$max_result); if($total_result>$max_result) { if($page>1) { $prev=$page-1; echo "<a href=\"".$_SERVER['PHP_SELF']."?dark=".$max_result."&page=$prev\">previous</a>"; } for($i=1;$i<=$total_pages;$i++) { if($page==$i) { echo "<strong>".$i."</strong>"; } else { echo "<a href=\"".$_SERVER['PHP_SELF']."?dark=".$max_result."&page=$i\">$i</a> "; } if($page<$total_pages) { $next=$page+1; //echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\"></a>"; } } if($page<$total_pages) { $next=$page+1; echo "<a href=\"".$_SERVER['PHP_SELF']."?dark=".$max_result."&page=$next\">next</a>"; } } echo "<table><tr>"; echo "<td><form action='helloworld.php' name='get'> <select name='dark'> <option value='2'>2</option> <option value='5'>5</option> <option value='10'>10</option> </select> <input type='hidden' name='searching' value='yes' /><input type='submit' value='No.of entries'> </form></td></tr>"; echo "<tr><td><strong>PAGE NUMBER $page of $total_pages.</strong>.</td></tr>"; echo"</table>";
Вы можете попробовать LIMIT
в запросе sql.
Передайте offset
и limit
LIMIT
в URL-адрес и обработайте / покажите данные соответствующим образом и отправьте обратно текущее offset
и limit
на веб-страницу (чтобы вы могли сделать URL-адрес для ссылки на ссылку больше)
Я думаю, что именно так оно реализуется в большинстве мест и фреймворков
Sandeep
в использовании запроса
SELECT list_of_column FROM table ORDER BY column_id DESC LIMIT 20 OFFSET 0
просто измените значение смещения за каждый клик, вы получите желаемый результат
разбиение на страницы в php, ссылка ,
В MysqlQuery вы можете использовать функцию LIMIT begin, max: SELECT * FROM db LIMIT 100, 10 выберет 10 наборов данных, начиная со смещения 10.
Вы должны передать переменную $ _GET или $ _POST с помощью javascript в php-скрипт:
$.ajax({ [...], url: "script.php", data: { page: <page to load> }, [...] })
В php-скрипте теперь вы изменяете запрос:
$query = "SELECT * FROM database LIMIT " . $_GET['page'] . ", " . $entrys_per_page;