Php 使用下拉菜单对数据库中的列表进行排序,同时分页
我希望这个标题有意义。。。。基本上,我创建了PHP脚本,从数据库中获取数据并显示在中,然后我编写了一些代码,使用下拉菜单对数据进行排序。在我尝试使用一些分页之前,一切都正常。我可以使分页工作,我可以使订购工作,但不能在同一时间!目前,我拥有的代码将允许我对列表进行排序并几乎分页。有40个结果,我想一次显示10个。当不使用排序代码时,我可以完美地对其进行分页,但当我尝试整合两位代码时,它将只显示前10个结果,而不会给我进入下一页查看其余结果的选项!(请记住,我5年前才开始学习das,所以我仍在努力学习 守则: 如果(!isset($\u GET['start'])) { $\u GET['start']=0; } 每页$10; $start=$_GET['start']Php 使用下拉菜单对数据库中的列表进行排序,同时分页,php,html,pagination,sql-order-by,Php,Html,Pagination,Sql Order By,我希望这个标题有意义。。。。基本上,我创建了PHP脚本,从数据库中获取数据并显示在中,然后我编写了一些代码,使用下拉菜单对数据进行排序。在我尝试使用一些分页之前,一切都正常。我可以使分页工作,我可以使订购工作,但不能在同一时间!目前,我拥有的代码将允许我对列表进行排序并几乎分页。有40个结果,我想一次显示10个。当不使用排序代码时,我可以完美地对其进行分页,但当我尝试整合两位代码时,它将只显示前10个结果,而不会给我进入下一页查看其余结果的选项!(请记住,我5年前才开始学习das,所以我仍在努力
if (!$start)
$start = 0;
$sort = @$_POST['order'];
if (!empty($sort)) {
$get = mysql_query("SELECT bookname, bookauthor, bookpub, bookisbn
FROM booktable
ORDER BY ".mysql_real_escape_string($_POST['order'])." ASC
LIMIT $start, $per_page");
}
else {
$get = mysql_query("SELECT bookname, bookauthor, bookpub, bookisbn
FROM booktable
ORDER BY bookname ASC
LIMIT $start, $per_page");
}
$record_count = mysql_num_rows($get);
?>
<?php
if (isset($_GET['showerror']))
$errorcode = $_GET['showerror'];
else
$errorcode = 0;
?>
if(!$start)
$start=0;
$sort=@$_POST['order'];
如果(!empty($sort)){
$get=mysql\u查询(“选择bookname、bookauthor、bookpub、bookisbn
从书桌上
按“.mysql\u real\u escape\u字符串($\u POST['ORDER'])”排序。ASC
每页限额$start$);
}
否则{
$get=mysql\u查询(“选择bookname、bookauthor、bookpub、bookisbn
从书桌上
按书名订购ASC
每页限额$start$);
}
$record\u count=mysql\u num\u rows($get);
?>
不会包括所有的html垃圾和订购菜单
<div id="mid">
<?php
echo "<table>";
echo "<tr>";
echo "<th>";
echo "</th>";
echo "<th>";
echo "Book Title";
echo "</th>";
echo "<th>";
echo "Book Author";
echo "</th>";
echo "<th>";
echo "Book Publisher";
echo "</th>";
echo "<th>";
echo "Book ISBN";
echo "</th>";
echo "<th>";
echo "</th>";
echo "</tr>";
while ($row = mysql_fetch_assoc($get))
{
// get data
$bookname = $row['bookname'];
$bookauthor = $row['bookauthor'];
$bookpub = $row['bookpub'];
$bookisbn = $row['bookisbn'];
echo "<tr>";
echo "<td>";
echo "<a href='addtolist.php?bookname=".$bookname."&bookauthor=".$bookauthor."&bookpub=".$bookpub."&bookisbn=".$bookisbn."'>Add to basket</a>";
echo "</td>";
echo "<td>";
echo $bookname;
echo "</td>";
echo "<td>";
echo $bookauthor;
echo "</td>";
echo "<td>";
echo $bookpub;
echo "</td>";
echo "<td>";
echo $bookisbn;
echo "</td>";
echo "</tr>";
}
echo "</table>";
$prev = $start - $per_page;
$next = $start + $per_page;
if (!($start<=0))
echo "<a href='products.php?start=$prev'>Prev</a> ";
//set variable for first page number
$i=1;
//show page numbers
for ($x = 0; $x < $record_count; $x = $x + $per_page)
{
if ($start != $x)
echo "<a class='pagin' href='products.php?start=$x'> $i </a>";
else
echo "<a class='pagin' href='products.php?start=$x'><b> $i </b></a>";
$i++;
}
//show next button
if (!($start >= $record_count - $per_page))
echo "<a class='pagin' href='products.php?start=$next'> Next </a>";
?>
非常感谢您的阅读!最简单的方法就是将
$sort=@$\u POST['order'];
更改为$sort=@$\u REQUEST['order']
并添加到您的分页链接中&order=$order
谢谢您的回复-将帖子改为request,但当您对分页链接说add&order=$order时,我是否将它们放在if-else语句中,&是什么意思?我的意思是将订单添加到echo”“;
在分页时保存订单