2015-08-15 60 views
0

我是新来这个网站,想知道是否有人可以提供帮助。我正在使用bootstrap创建一个网站。我在我的数据库中添加了一些产品,并使用while循环在页面上显示它们。获取我点击的产品的ID

如果您点击其中一个产品,您也需要一个新页面,该页面应显示仅来自该产品的所有信息。

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]的地方。我不确定这是否有帮助?

我想现在只显示了$idproductInfo.php但它只显示阵列

<?php 
session_start(); 
if (isset($_SESSION["id"])) { 
$newID = $_SESSION["id"]; 
echo $newID; 
} 
?> 

我知道这是因为它不知道我选择哪一个,在过去$id。我是否让这个过于复杂?

任何帮助将不胜感激!

回答

0

在while循环我想补充:

<a href="product_page.php?id='".$id."'">View More</a> 

这将拼接的$id++值到每个项目下的HREF。然后,您需要为product_page.php创建一个登录页面,再次在该页面上定义$ id并从该数据库中获取该产品的数据。你可以做到这一点,而不使用任何数组。

编辑:

您需要定义使用$_GET['id']您product_page.php $ ID,因为它是在url中,通过您的href上述^

好的做法提供给进入而在开发阶段将是echo $id;,看看它是否回应你的while循环中的正确数据。如果它回显了正确的$ id,那么你可以通过href将$ id发送给url。

让我知道这是否有效。

从DB你的ID的拉动数据:

$sql = "SELECT * FROM table WHERE id='".$myID."'"; 
$res = mysql_query($sql); 
$row = mysql_fetch_assoc($res); 
$data1 = $row['whatever']; 

echo $data1; 
+0

谢谢你多少这正是我一直在寻找,但我想补充: View More 当我点击ID为产品1它显示以下网页: product_page.php ID =%27 404未找到 所请求的URL/PR?在此服务器上找不到oduct_page.php。 我将其更改为: 现在,该URL显示:http://localhost/product_page.php?id = 1 ID 1这是正确的,但它说404没有找到。有什么想法吗? – Brent

+0

不用担心;) 您的'product_page.php'与另一个文件夹位于同一个文件夹中吗? –

+0

另外,如果你可以标记我的答案是正确的,那么你会帮我一个忙;) –