用PHP从数据库中检索数据并发送到另一个页面

时间:2014-11-26 20:46:59

标签: php loops

我现在正在尝试创建一个页面,显示列表中的餐馆供人们评论和评分,餐馆信息在数据库中。我已经使用while()函数获取了我想要的数据,但是我很难选择其中一个并传递到另一个页面。以下是我的代码。我尝试使用会话来存储数据,比如“$ _SESSION ['rid']”用于存储餐馆ID。我在餐厅餐桌上有8排,当我点击第一家餐馆时,另一页上的数字是8。

<?php
    $sql_restaurant = "select * from tbl_restaurants";
    $results = mysql_query($sql_restaurant);
    while($restaurant_row=mysql_fetch_assoc($results)){
      $_SESSION['rid'] = $restaurant_row['restaurant_id'];
      echo "<a><span style = 'color:black'>".$restaurant_row['restaurant_name']."</span></a>";
      echo "<dd>";
      echo "<a><span style = 'color:black'>".$restaurant_row['restaurant_address']."</span></a>";echo '</dd>';
      echo '<i class="mod_subcate_line"></i>';
      echo '<a href = "rating.php">Rate it!</a>';
      echo '<a href = "comment.php">Comment!</a>';
      echo '<br/>';
      echo '<br/>';
    }
?>

当我点击不同的餐馆时,我希望它显示正确的餐馆ID。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

现在,每次循环循环时,您的代码都会更改$_SESSION['rid']。所以它将具有循环的最后一个循环。

您不应该对会话执行此操作,请始终牢记HTTP是无状态系统且会话是有状态的。不依赖国家总是更好。

如评论中所述,您应该将餐馆ID作为查询参数中链接URL的一部分,然后您可以通过$_GET数组访问。

答案 1 :(得分:0)

如果要使用$ _SESSION,请为每个循环选择不同的名称。这里,$ _SESSION ['rid']获取最后一个循环的值。