我是这个网站的新手,想知道是否有人可以提供帮助。我正在使用 Bootstrap 创建一个网站。我在数据库中添加了一些产品,并使用 while 循环将它们显示在页面上。
如果您点击其中一个产品,您也会进入一个新页面,该页面应仅显示该产品的所有信息。
if ($select_db) {
$SQL = "SELECT * FROM products";
$result = mysql_query($SQL);
?>
<?php
$c = 0;
$id = -1; // The counter
$n = 3; // Each Nth iteration would be a new table row
while ($db_field = mysql_fetch_assoc($result)) {
$itemName = $db_field['name'];
$itemDescription = $db_field['description'];
$itemPrice = $db_field['price'];
$myPic = $db_field['image_name'];
if ($c % $n == 0 && $c != 0) { // If $c is divisible by $n...
echo '<div class="row" ></div>';
}
$c++;
$id++;
?>
<div class="col-md-4 col-sm-4" style="background-color:lavender;" id = 1>
<a href="productInfo.php">
<p> <?php echo $c ?> </p>
<h2> <?php echo $itemName ?> </h2>
<p><img class="img-responsive" img src= '<?php echo $myPic ?>' alt="Oops, Image cannot be found!" height="300" width="300"/></p>
<h3><?php echo $itemDescription ?></h3>
<p><?php echo $itemPrice ?></p>
<div id="selector" class="btn-group">
<button type="button" class="btn btn-primary" id="<?php $id ?>">Add</button>
</div>
<?php
$productsArray[] = array(
"id" => $id,
"itemName" => $itemName,
"itemDescription" => $itemDescription,
"price" => $itemPrice
);
//$_SESSION['sessionArray']=$productsArray;
?>
</a>
</div>
<?php
现在,当我单击其中一列时,它会将我带到productInfo.php。我不知道如何显示被点击的产品?
我添加了一个与数组相同的变量 $id,例如数组 [0] 的 id 为 0,数组 [1] 的 id 为 1。我想我是想说如果 ID = 0 那么将结果显示在数组中的位置 [0] 处。我不确定这是否有帮助?
我现在尝试在 productInfo.php
上仅显示 $id
,但它只显示数组中的最后一个 $id
<?php
session_start();
if (isset($_SESSION["id"])) {
$newID = $_SESSION["id"];
echo $newID;
}
?>
我知道这一点是因为它不知道我选择的是哪一个。我是不是把事情搞得太复杂了?
任何帮助将不胜感激!
最佳答案
在你的 while 循环中我会添加:
<a href="product_page.php?id='".$id."'">View More</a>
这会将 $id++
的值连接到每个项目下的 href 中。然后您需要做的就是为 product_page.php
创建一个登陆页面,再次在该页面上定义 $id 并从数据库中提取该产品的数据。您可以在不使用任何数组的情况下完成此操作。
编辑:
您可以使用 $_GET['id']
在您的product_page.php 上定义 $id,因为它在网址中,由上面的 href 提供 ^
在开发阶段进入 while 的一个好习惯是 echo $id;
来查看它是否从 while 循环中回显正确的数据。如果它回显正确的 $id,那么您可以通过 href 将 $id 发送到 url。
请告诉我这是否有效。
从您 ID 的数据库中提取数据:
$sql = "SELECT * FROM table WHERE id='".$myID."'";
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);
$data1 = $row['whatever'];
echo $data1;
关于php - 获取我点击的产品的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32025797/