0

我正在从我的数据库中检索产品并在一个 while 循环中列出它们。像这样

<?php
  while($row = mysql_fetch_row($result)){
    echo '<div class="product_info">';
     echo '<div class="category_product_title"><a href="category-page.php">Product</a>';
     echo '</div>';
      echo '<div   class="category_product_number">#'.$row[0].'('.$row[1].')'.'</div>';//prints id and name
     echo '<div class="category_product_description">'.$row[2].'</div>';//prints description
     echo '<div class="category_product_price">'.$row[4].'TL</div>';//prints price
      echo '<div class="category_details"><a href="productpage2.php">DETAILS</a></div>';//The link to   list the product details
    echo '</div>';
    echo '</div>';
 }
?>

当通过获取特定产品的 ID 或名称并用于查询数据库来单击“详细信息”链接时,我希望能够在特定产品上打印更多详细信息。我尝试将 id 保存在这样的会话变量中,$_SESSION['id'] = $row[0]但由于我正在循环浏览这些产品,因此在单击特定产品时我无法获取它的 id。我怎样才能做到这一点?。我很困惑,因为循环。谢谢

4

2 回答 2

2

您可以使用变量为每个产品分配不同的链接GET
而不是<a href="productpage2.php">DETAILS</a>,链接可以指向<a href="productpage2.php?id='.$row[0].'">DETAILS</a>

然后,在产品页面上,您可以从超全局数组productpage2.php中获取选定的 ID,如下所示:$_GET

$id = $_GET['id'];
于 2013-05-14T19:41:17.637 回答
0

很多方法可以做到这一点。我可能会做类似的事情:

echo '<div class="product_info" data-product-number="' . $row[0] . '">';

然后只需data-product-number使用 JavaScript 获取属性并将其与请求一起传递。显然,一旦发出请求,您就需要在服务器端以某种方式验证这一点,因为用户可以将请求中的产品编号设置为他们想要的任何内容。

于 2013-05-14T19:41:04.083 回答