2017-04-18 59 views
1

我有一個任務,我們應該創建一個電子商務網站,從數據庫中提取產品,列出它們並允許您將它們添加到購物車,儘管只需要單個數量的項目,但它也必須具有其他功能,我想我可以自己弄清楚。試圖用PHP創建一個簡單的購物車會話

我現在想要做的事情實際上是將商品添加到我的購物車,當用戶點擊「立即購買」按鈕時,我爲從數據庫中提取的每件商品創建了這個按鈕,但我非常流血。我正在嘗試爲購物車使用會話,以便在瀏覽器關閉時刪除所有內容。

這裏就是我有一個列出可用的項目頁面:

<?php 
    $id = $_GET['id']; 
    $sql = "SELECT * FROM products WHERE id=$id"; 
    $result = mysqli_query($connection, $sql); 

    echo '<div id="description">'; 
    if(mysqli_num_rows($result)>0){ 
     while($row = mysqli_fetch_array($result)){ 
      echo '<h2>'.$row['Name'].'</h2>'; 
      echo '<p>'.$row['Description'].'</p>'; 
      echo '<a href="cart.php" id="'.$row['id'].'" class="buyNow">Buy Now - $'.$row['Price'].'.00</a>'; 
     } 
    }else{ 
     echo "There is something wrong."; 
    } 
    echo '</div>'; 
?> 

這裏就是我得到了車:

<?php 

require('connection.php'); 
session_start(); 

$cart_content = array(); 

?> 

我還沒有得到過去創建陣列的骨頭,這將是購物車的物品。我不知道我是否有一個清晨或什麼,但我似乎無法弄清楚如何使用我創建的按鈕添加項目。當我考慮這樣做時,它似乎應該很容易,但我無法弄清楚,無論我看的是什麼教程。現在,這是我需要幫助的唯一事情,因爲我非常確定我可以自己找出其餘的問題。

+0

還解析產品在您的while循環的ID。點擊按鈕添加到購物車時,使用預準備語句搜索您的數據庫,並將產品添加到會話變量。然後在結賬時,循環訪問該會話變量並顯示具有價格的項目。然後,您可以在PayPal網關或其他支付網關中構建 – Akintunde007

回答

0

首先,你使用的是錨標記來啓動你需要的id添加到查詢字符串

<?php 
    session_start(); 
    // show all products in this script 
    $sql = "SELECT * FROM products"; 
    $result = mysqli_query($connection, $sql); 

    echo '<div id="description">'; 
    if(mysqli_num_rows($result)>0){ 
     while($row = mysqli_fetch_array($result)){ 
      // stop it showing a product if it has already been selected by user 
      if (! in_array($row['id'], $_SESSION['cart']) { 
       echo '<h2>'.$row['Name'].'</h2>'; 
       echo '<p>'.$row['Description'].'</p>'; 
       echo '<a href="cart.php?id=' . $row['id'] . '" class="buyNow">Buy Now - $'.$row['Price'].'.00</a>'; 
      } 
     } 
    }else{ 
     echo "There is something wrong."; 
    } 
    echo '</div>'; 
?> 

現在,當您在購物車處理腳本應該在$_GET['id']存在尋找$_GET['id']的CART處理。您只需將其添加到$_SESSION數組中,稍後可以查看。它有利於在$ _SESSION中給這個數組一個明智的名字。

<?php 
session_start(); 
require('connection.php'); 

// add this id to the cart array in the session 
$_SESSION['cart'][] = $_GET['id']; 
// re-run the first script 
header('Location: xxxx.php'); // sorry dont know what the fist script is called 

?> 
+0

我不太瞭解您在_SESSION變量上方添加的評論。我應該保留原來的$ cart_content = array();除了添加$ _SESSION ['cart'] [] = $ _GET ['id'];? –

+0

它不應該是必要的 – RiggsFolly

+0

好吧,所以我把我的ID帶到cart.php頁面,並加上一點額外的工作,我應該能夠獲得相關數據以顯示,但我仍然不知道如何讓用戶點擊多個商品上的「立即購買」按鈕並將每件商品添加到購物車中。 –