Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用下拉菜单对数据库中的列表进行排序,同时分页_Php_Html_Pagination_Sql Order By - Fatal编程技术网

Php 使用下拉菜单对数据库中的列表进行排序,同时分页

Php 使用下拉菜单对数据库中的列表进行排序,同时分页,php,html,pagination,sql-order-by,Php,Html,Pagination,Sql Order By,我希望这个标题有意义。。。。基本上,我创建了PHP脚本,从数据库中获取数据并显示在中,然后我编写了一些代码,使用下拉菜单对数据进行排序。在我尝试使用一些分页之前,一切都正常。我可以使分页工作,我可以使订购工作,但不能在同一时间!目前,我拥有的代码将允许我对列表进行排序并几乎分页。有40个结果,我想一次显示10个。当不使用排序代码时,我可以完美地对其进行分页,但当我尝试整合两位代码时,它将只显示前10个结果,而不会给我进入下一页查看其余结果的选项!(请记住,我5年前才开始学习das,所以我仍在努力

我希望这个标题有意义。。。。基本上,我创建了PHP脚本,从数据库中获取数据并显示在中,然后我编写了一些代码,使用下拉菜单对数据进行排序。在我尝试使用一些分页之前,一切都正常。我可以使分页工作,我可以使订购工作,但不能在同一时间!目前,我拥有的代码将允许我对列表进行排序并几乎分页。有40个结果,我想一次显示10个。当不使用排序代码时,我可以完美地对其进行分页,但当我尝试整合两位代码时,它将只显示前10个结果,而不会给我进入下一页查看其余结果的选项!(请记住,我5年前才开始学习das,所以我仍在努力学习

守则:

如果(!isset($\u GET['start'])) {

$\u GET['start']=0; }

每页$10; $start=$_GET['start']

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”“;
在分页时保存订单