php - 获取我点击的产品的ID

标签 php html mysql arrays

我是这个网站的新手,想知道是否有人可以提供帮助。我正在使用 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/

相关文章:

php - 两个表之间的关系并显示查询结果

php - 简单的 HTML DOM 找不到 DIV

html - 试图让图像在页面上的网格中布局而不影响动画

html - &lt;input&gt; 超出 <div> block ,样式为 'float: right;'

java - 来自 Java 的 MySQL 数据库查询失败

mysql - 我有一个有点复杂的 SQL 语句,但我不知道在哪里放置 WHERE 子句

python - 如何在scrapy中使用spider从mysql获取数据并从web中提取数据

php - 在 JavaScript 中访问 PHP 变量

php - 如何使用 PHP echo 函数在 JavaScript 中定义变量?

javascript - 如何使用 JS 根据鼠标位置移动图像?