在我的在线购物项目管理面板中,我正在显示一个产品,它的代码是这样的。
<!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状态栏我在绿色按钮上显示状态(1)和红色按钮状态关闭(0)并且它在图像标签中。 如果我点击绿色按钮,它将变为红色按钮并在数据库中将状态更改为关闭(0)或反之......
我的问题是,当我不在第1页并单击按钮时,它将更改该产品的数据库中的图像和状态,但是,分页到达第一页或说page = 0.it对所有页面而不是第1页。我想留在同一页面上。请给出你的建议。非常感谢。
答案 0 :(得分:1)
您需要更新这些按钮的链接,以便他们在网址中包含当前的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>';
}
如果您不想像我上面提到的那样更改变量的名称(&#34;注意:&#34;),您只需编写&page='.($page/10).'
即可。但是,这是一种不好的做法,不推荐。
它在第一页上工作的原因是因为您有以下条件:
if(isset($_REQUEST['page']))
因此,如果page
参数未设置 - 您可以在代码中将其设置为0
(第一页)。