繁体   English   中英

单击链接查询数据库

[英]Query database on clicking a link

我正在从我的数据库中检索产品并在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或名称并使用查询数据库来点击“DETAILS”链接时,能够在特定产品上打印更多细节。 我尝试将id保存在会话变量中,例如$_SESSION['id'] = $row[0]但由于我正在循环使用这些产品,因此我无法获得特定产品的ID点击。 我怎样才能做到这一点?。 我因为循环而感到困惑。 谢谢

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

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

$id = $_GET['id'];

有很多方法可以做到这一点。 我可能会这样做:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM