在我的在线购物项目管理面板中,我正在展示一个产品,它的代码如下。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<center>
<?php
include('config.php');
$query=mysql_query("select * from product_tbl");
$totalrows=mysql_num_rows($query);
if(isset($_REQUEST['page']))
{
$page=$_REQUEST['page'];
echo "page=$page";
$page=$page*10;
$pagquery=mysql_query("select * from product_tbl limit $page,10");
}
else
{
$page=0;
$pagquery=mysql_query("select * from product_tbl limit 0,10");
}
echo "Product Table";
echo "<table border=1 width=100%>";
echo "<tr><th>";
echo "Prod ID";
echo "</th><th>";
echo "Cat ID";
echo "</th><th>";
echo "Com ID";
echo "</th><th>";
echo "Product Name";
echo "</th><th>";
echo "Product Price";
echo "</th><th>";
echo "Product Discount";
echo "</th><th>";
echo "Product Desc";
echo "</th><th>";
echo "Product Image";
echo "</th><th>";
echo "Status";
echo "</th></tr>";
while($r=mysql_fetch_array($pagquery))
{
if($r['prod_status'] == 0) {
//$sqlup="UPDATE product_tbl set prod_status=!prod_status where prod_id='".$r['prod_id']."'";
$im='<a href="product.php?false='.$r["prod_id"].'"><img src="images/red.jpg" height="28" width="28"></a>';
}
else{
$im='<a href="product.php?true='.$r["prod_id"].'"><img src="images/green.jpg" height="30" width="30"></a>';
}
if (isset($_REQUEST['false'])) {
$updt=mysql_query("update product_tbl set prod_status=1 where prod_id='".$_REQUEST['false']."'");
header('location:product.php?page='.$page);
}
if (isset($_REQUEST['true'])) {
$updt=mysql_query("update product_tbl set prod_status=0 where prod_id='".$_REQUEST['true']."'");
header('location:product.php?page='.$page);
}
echo "<tr><td><center>".$r['prod_id']."</center></td><td><center>".$r['cat_id']."</center></td><td><center>".$r['com_id']."</center></td><td><center>".$r['prod_name']."</center></td><td><center>".$r['prod_price']."</center></td><td><center>".$r['prod_discount']."</center></td><td><center>".$r['prod_desc']."</center></td><td><center><img src=".$r['prod_img']." height=100 width=100></center></td><td><center>".$im."</center></td></tr>";
}
$page=0;
echo "<tr colspan=3>";
for($i=0;$i<=$totalrows;$i+=10)
{
echo "<a href=product.php?page=".$page++."> ".$page."</a>";
}
echo "</table>";
echo "<br/>";
?>
<br><br>
<a href="backup_insert_prod.php"><input type="submit" value="Insert"></a>
<a href="update_prod.php"><input type="submit" value="Update"></a>
<a href="delete_prod.php"><input type="submit" value="Delete"></a>
</center>
</body>
</html>
这段代码在浏览器中显示如下
所有数据都来自数据库 MYSQL.in status column 我正在显示状态 on(1) 的绿色按钮和状态 off(0) 的红色按钮,它在图像标签中。 如果我点击绿色按钮,它将变为红色按钮,并在数据库中将状态更改为关闭(0),反之亦然......
我的问题是当我不在第 1 页并单击按钮时,它将更改该产品数据库中的图像和状态,但是,分页出现在第一页或说 page=0。它发生在所有页面而不是第 1 页。我想留在同一页上。请提出您的建议。我们将不胜感激。
最佳答案
您需要更新这些按钮的链接,以便它们在 URL 中包含当前的 page
参数。
注意:请考虑定义一个新变量(具有更多相对名称)来保存页面值的 x10 结果。
所以与其拥有:
$page=$_REQUEST['page'];
echo "page=$page";
$page=$page*10;
你会:
$page=$_REQUEST['page'];
echo "page=$page";
$start=$page*10;
当然,您必须更新查询(只需替换变量)。
之后您可以简单地执行以下操作:
替换:
if($r['prod_status'] == 0) {
//$sqlup="UPDATE product_tbl set prod_status=!prod_status where prod_id='".$r['prod_id']."'";
$im='<a href="product.php?false='.$r["prod_id"].'"><img src="images/red.jpg" height="28" width="28"></a>';
}
else{
$im='<a href="product.php?true='.$r["prod_id"].'"><img src="images/green.jpg" height="30" width="30"></a>';
}
与:
if($r['prod_status'] == 0) {
//$sqlup="UPDATE product_tbl set prod_status=!prod_status where prod_id='".$r['prod_id']."'";
$im='<a href="product.php?false='.$r["prod_id"].'&page='.$page.'"><img src="images/red.jpg" height="28" width="28"></a>';
} else{
$im='<a href="product.php?true='.$r["prod_id"].'&page='.$page.'"><img src="images/green.jpg" height="30" width="30"></a>';
}
如果您不想像我上面提到的那样更改变量的名称(“注意:”),您可以简单地编写 &page='.($page/10).'
。但是,这是一种不好的做法,不推荐这样做。
它在第一页上工作的原因是因为您有以下情况:
if(isset($_REQUEST['page']))
因此,如果未设置 page
参数 - 您可以在代码中将其设置为 0
(第一页)。
关于php - 分页变量和其他变量在php中有冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29789446/