同一页面上2个div之间的会话变量?

时间:2013-10-27 11:51:26

标签: php session

我试图在同一页面上传递2 div之间的会话。 我有链接,当我点击一个我希望id传递到另一个div用链接中的信息填充它,但它没有通过!!

这是我的链接div

中的代码
$q =mysqli_query($link, "SELECT * FROM products WHERE status = 1 ORDER BY id DESC");
while($row = mysqli_fetch_array($q)){
$data = $row['image'];
$file = substr($data, strpos($data, "/") + 1);
$_SESSION['id']=$row['id'];

echo"<div class='homedogs'>",
"<a href='merchandise.php' class='productchoice'>",
"<img class='nailthumb-container3' src='$file' alt='{$row['name']}. Image' />",
"</a>",
"<br />",
'NAME: ',$row['name'],"<br />",'PRICE: ',$row['price'],
"</div>";
}
}

这是我想在

中使用会话的其他div
include 'inc/connect.php';
$q = mysqli_query($link, "SELECT *  FROM products WHERE id = '".$_SESSION['id']."'") or  
                 die (mysql_error());
while($row = mysqli_fetch_array($q)){
$data = $row['image'];
$file = substr($data, strpos($data, "/") + 1);
echo"<div class='rehomediv'>",
"<img class='nailthumb-container2' src='$file' alt='{$row['name']}. Image' />","<br 
  />",
"<div class='nameagesex'>",
"<div class='item_name'>{$row['name']}</div>",
"<br />",
"<span class='item_price'>{$row['price']}</span>",
"</div>",
"<div class='description'>",
 nl2br($row['description']),
 "</div>",
</div>;

我确定它很简单,但我无法得到它!有人可以帮忙吗? 感谢

EDIT !!!!!

在页面加载时,pid没有设置所以我得到一个错误,无论如何有它,如果没有设置pid然后它只显示最后一条记录?

对于任何对此编辑感到困惑的人,请检查已接受的答案..

1 个答案:

答案 0 :(得分:1)

您在$_SESSION['id']循环内多次分配while。如果您按照自己的要求session_start()执行此操作,最终只会保留最后一个值。

如果您希望这样做,请不要使用$_SESSION,而应使用GET查询。将您的链接生成代码更改为:

"<a href='merchandise.php?pid={$row['id']}' class='productchoice'>"

...并在merchandise.php检查$_GET['pid']以确定所请求的产品ID:

if(isset($_GET['pid']))
  // show corresponding product (your second listing)
else
  // show something else, i.e. the product catalog (your first listing)