2015-08-15 160 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

另外,如果你可以標記我的答案是正確的,那麼你會幫我一個忙;) –