Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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分页(下一页按ID排序显示数据,而不是名称、代码或我想要的其他内容)_Php_Pagination - Fatal编程技术网

PHP分页(下一页按ID排序显示数据,而不是名称、代码或我想要的其他内容)

PHP分页(下一页按ID排序显示数据,而不是名称、代码或我想要的其他内容),php,pagination,Php,Pagination,我的问题是,我的分页第一页排序的Id,名称,代码或任何我想要的。但下一页自动简短的id,而不是我想要的选项。我不知道该怎么做。尝试了不同的事情,但结果相同 这就是我的代码的外观: public function selectParts() { try { $stmt = $this->conn->prepare("SELECT count(*) FROM partcatalogue");

我的问题是,我的分页第一页排序的Id,名称,代码或任何我想要的。但下一页自动简短的id,而不是我想要的选项。我不知道该怎么做。尝试了不同的事情,但结果相同

这就是我的代码的外观:

   public function selectParts()
    {
        try
        {

            $stmt = $this->conn->prepare("SELECT count(*) FROM partcatalogue");                                                                                                                             
            $stmt->execute();
            $total = $stmt->fetchColumn();                                                                                                                          

            $perpage = 10;
            $pages = ceil($total / $perpage);

            $get_pages = isset($_GET['page']) ? $_GET['page'] : 1;

            $data = array(

                'options' => array(
                    'default'   => 1,
                    'min_range' => 1,
                    'max_range' => $pages
                    )
            );

            $number = trim($get_pages);
            $number = filter_var($number, FILTER_VALIDATE_INT, $data);
            $range = $perpage * ($number - 1);

            $prev = $number - 1;
            $next = $number + 1;

            $stmt = $this->conn->prepare("SELECT part_id,image,name,manufacture,category,code FROM partcatalogue ORDER BY part_id LIMIT :limit, :perpage");
            $stmt->bindParam(':perpage', $perpage, PDO::PARAM_INT);
            $stmt->bindParam(':limit', $range, PDO::PARAM_INT);
            $stmt->execute();

            $result = $stmt->fetchAll();


            if((isset($_GET['action']) ? $_GET['action'] : null) == "sortbyId")
            {
                $stmt = $this->conn->prepare("SELECT part_id,image,name,manufacture,category,code FROM partcatalogue ORDER BY part_id ASC LIMIT :limit, :perpage");
                $stmt->bindParam(':perpage', $perpage, PDO::PARAM_INT);
                $stmt->bindParam(':limit', $range, PDO::PARAM_INT);
                $stmt->execute();

            $result = $stmt->fetchAll();
            }

            if((isset($_GET['action']) ? $_GET['action'] : null) == "sortbyName")
            {
                $stmt = $this->conn->prepare("SELECT part_id,image,name,manufacture,category,code FROM partcatalogue ORDER BY name ASC LIMIT :limit, :perpage");
                $stmt->bindParam(':perpage', $perpage, PDO::PARAM_INT);
                $stmt->bindParam(':limit', $range, PDO::PARAM_INT);
                $stmt->execute();

            $result = $stmt->fetchAll();
            }

            if((isset($_GET['action']) ? $_GET['action'] : null) == "sortbyCode")
            {
                $stmt = $this->conn->prepare("SELECT part_id,image,name,manufacture,category,code FROM partcatalogue ORDER BY code ASC LIMIT :limit, :perpage");
                $stmt->bindParam(':perpage', $perpage, PDO::PARAM_INT);
                $stmt->bindParam(':limit', $range, PDO::PARAM_INT);
                $stmt->execute();

            $result = $stmt->fetchAll();
            }

            if((isset($_GET['action']) ? $_GET['action'] : null) == "sortbyManufacture")
            {
                $stmt = $this->conn->prepare("SELECT part_id,image,name,manufacture,category,code FROM partcatalogue ORDER BY manufacture ASC LIMIT :limit, :perpage");
                $stmt->bindParam(':perpage', $perpage, PDO::PARAM_INT);
                $stmt->bindParam(':limit', $range, PDO::PARAM_INT);
                $stmt->execute();

                $result = $stmt->fetchAll();$stmt->execute();
            }

            if((isset($_GET['action']) ? $_GET['action'] : null) == "sortbyCategory")
            {
                $stmt = $this->conn->prepare("SELECT part_id,image,name,manufacture,category,code FROM partcatalogue ORDER BY category ASC LIMIT :limit, :perpage");
                $stmt->bindParam(':perpage', $perpage, PDO::PARAM_INT);
                $stmt->bindParam(':limit', $range, PDO::PARAM_INT);
                $stmt->execute();

                $result = $stmt->fetchAll();
            }

            echo "<table style='width:100%'>";
            echo "<tr>";
            echo "<th>"; ?><a href="ViewParts.php?action=sortbyId" class="btn btn-default">Id</a></th><?php
            echo "<th>"; ?><a href="" class="btn btn-default">Image</a></th><?php
            echo "<th>"; ?><a href="ViewParts.php?action=sortbyName" class="btn btn-default">Name</a></th><?php
            echo "<th>"; ?><a href="ViewParts.php?action=sortbyCode" class="btn btn-default">Code</a></th><?php
            echo "<th>"; ?><a href="ViewParts.php?action=sortbyManufacture" class="btn btn-default">Manufacture</a></th><?php
            echo "<th>"; ?><a href="ViewParts.php?action=sortbyCategory" class="btn btn-default">Category</a></th><?php
            echo "<th>"; ?><a href="" class="btn btn-default">Edit</a><?php
            echo "<th>"; ?><a href="" class="btn btn-default">Delete</a><?php
            echo "</tr>";

            foreach($result as $part){ 

            echo "<td>"; echo $part['part_id']; echo "</td>";
            echo "<td>"; echo "<img src='../../Images/Part/".$part['image']."' width='50' height='50'/>"; echo"</td>";  
            echo "<td>"; echo $part['name']; echo "</td>";
            echo "<td>"; echo $part['code']; echo "</td>";
            echo "<td>"; echo $part['manufacture']; echo "</td>";
            echo "<td>"; echo $part['category']; echo "</td>";          
            echo "<td>"; ?><a href="ViewParts.php?action=edit&part_id=<?php echo $part['part_id']?>" class="btn btn-default">Edit</a><?php echo"</td>";     
            echo "<td>"; ?><a href="ViewParts.php?action=delete&part_id=<?php echo $part['part_id']?>" class="btn btn-default" onclick="return confirm('Are you sure you want to DELETE?');">Delete</a><?php echo"</td>";
            echo "</hr>";
            echo "</tr>";
            echo "</hr>";
            }

            echo "</table>";

                if($result && count($result) > 0)
                {
                    echo "<h4>Total pages ($pages)</h4>";

                    # first page
                    if($number <= 1)
                        echo "<span>&laquo; prev</span> | <a href=\"?page=$next\">next &raquo;</a>";

                    # last page
                    elseif($number >= $pages)
                        echo "<a href=\"?page=$prev\">&laquo; prev</a> | <span>next &raquo;</span>";

                    # in range
                    else
                        echo "<a href=\"?page=$prev\">&laquo; prev</a> | <a href=\"?page=$next\">next &raquo;</a>";
                }

                else
                {
                    echo "<p>No results found.</p>";
                }


            return $result; 
        }
        catch(PDOException $e)
        {
            echo $e->getMessage();
        }               
    }
public function selectParts()
{
尝试
{
$stmt=$this->conn->prepare(“从零件目录中选择计数(*));
$stmt->execute();
$total=$stmt->fetchColumn();
每页$10;
$pages=ceil($total/$perpage);
$get\U pages=isset($\U get['page'])?$\U get['page']:1;
$data=数组(
“选项”=>数组(
“默认值”=>1,
“最小范围”=>1,
“最大范围”=>$pages
)
);
$number=trim($get_pages);
$number=filter\u var($number,filter\u VALIDATE\u INT,$data);
$range=$perpage*($number-1);
$prev=$number-1;
$next=$number+1;
$stmt=$this->conn->prepare(“按零件id限制:限制,:每页从零件目录订单中选择零件id、图像、名称、制造商、类别、代码”);
$stmt->bindParam(':perpage',$perpage,PDO::PARAM_INT);
$stmt->bindParam(':limit',$range,PDO::PARAM_INT);
$stmt->execute();
$result=$stmt->fetchAll();
if((isset($\u GET['action'])?$\u GET['action']:null)==“sortbyId”)
{
$stmt=$this->conn->prepare(“按零件id ASC LIMIT:LIMIT,:每页从零件目录订单中选择零件id、图像、名称、制造商、类别、代码”);
$stmt->bindParam(':perpage',$perpage,PDO::PARAM_INT);
$stmt->bindParam(':limit',$range,PDO::PARAM_INT);
$stmt->execute();
$result=$stmt->fetchAll();
}
if((isset($\u GET['action'])?$\u GET['action']:null)==“sortbyName”)
{
$stmt=$this->conn->prepare(“按名称ASC LIMIT:LIMIT,:perpage从零件目录订单中选择零件id、图像、名称、制造商、类别、代码”);
$stmt->bindParam(':perpage',$perpage,PDO::PARAM_INT);
$stmt->bindParam(':limit',$range,PDO::PARAM_INT);
$stmt->execute();
$result=$stmt->fetchAll();
}
if((isset($\u GET['action'])?$\u GET['action']:null)==“sortbyCode”)
{
$stmt=$this->conn->prepare(“按代码ASC LIMIT:LIMIT,:perpage从零件目录订单中选择零件id、图像、名称、制造商、类别、代码”);
$stmt->bindParam(':perpage',$perpage,PDO::PARAM_INT);
$stmt->bindParam(':limit',$range,PDO::PARAM_INT);
$stmt->execute();
$result=$stmt->fetchAll();
}
if((isset($\u GET['action'])?$\u GET['action']:null)==“sortbyManufacture”)
{
$stmt=$this->conn->prepare(“按制造商ASC限制:限制,:每页从零件目录订单中选择零件id、图像、名称、制造商、类别、代码”);
$stmt->bindParam(':perpage',$perpage,PDO::PARAM_INT);
$stmt->bindParam(':limit',$range,PDO::PARAM_INT);
$stmt->execute();
$result=$stmt->fetchAll();$stmt->execute();
}
if((isset($\u GET['action'])?$\u GET['action']:null)==“sortbyCategory”)
{
$stmt=$this->conn->prepare(“按类别ASC LIMIT:LIMIT,:每页从零件目录订单中选择零件id、图像、名称、制造商、类别、代码”);
$stmt->bindParam(':perpage',$perpage,PDO::PARAM_INT);
$stmt->bindParam(':limit',$range,PDO::PARAM_INT);
$stmt->execute();
$result=$stmt->fetchAll();
}
回声“;
回声“;

回声“”;?>您必须保存第一个请求中所需的排序顺序,以便在第二个和后续分页请求中重复使用正确的顺序。也许会话将是一个保存的好地方this@RiggsFolly我愿意这样做,但不能真正理解如何实现它。使用变量创建会话,但不rea了解如何在session=Name时显示其他值(例如)