PHP分页(下一页按ID排序显示数据,而不是名称、代码或我想要的其他内容)
我的问题是,我的分页第一页排序的Id,名称,代码或任何我想要的。但下一页自动简短的id,而不是我想要的选项。我不知道该怎么做。尝试了不同的事情,但结果相同 这就是我的代码的外观:PHP分页(下一页按ID排序显示数据,而不是名称、代码或我想要的其他内容),php,pagination,Php,Pagination,我的问题是,我的分页第一页排序的Id,名称,代码或任何我想要的。但下一页自动简短的id,而不是我想要的选项。我不知道该怎么做。尝试了不同的事情,但结果相同 这就是我的代码的外观: public function selectParts() { try { $stmt = $this->conn->prepare("SELECT count(*) FROM partcatalogue");
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>« prev</span> | <a href=\"?page=$next\">next »</a>";
# last page
elseif($number >= $pages)
echo "<a href=\"?page=$prev\">« prev</a> | <span>next »</span>";
# in range
else
echo "<a href=\"?page=$prev\">« prev</a> | <a href=\"?page=$next\">next »</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时显示其他值(例如)