簡體   English   中英

自動遞增數組索引(PHP)

[英]Auto Incrementing Array Index (PHP)

剛剛進行了搜索,卻找不到帶有適當答案的問題。 我試圖將product_id添加到數組的末尾,每次添加一些內容時,它也會同時添加到數組中。 目前,每次我添加product_id時,它都會替換以前的內容。 我得到的只是在Array [0]處的一個product_id。下面是我的代碼的一部分,將其添加到數組中。 然后我用

print_r($order);

顯示數組中的內容。

$order = array();

switch ($action)
    {

    // Add

case "add":

$order[] = $product_id;
        break;
        }

這是頁面中的全部代碼減去一些MySQL內容。

include 'connection.php';

if (isset($_GET['action']))
    {
    $action = $_GET['action']; //Get's action from the URL
    }

if (isset($_GET['product_id']))
    {
    $product_id = $_GET['product_id']; //the action from the URL
    }

// if there is an product_id and that product_id doesn't exist display an error message



if ($product_id && !productExists($product_id))
    {
    die("Error. Product Doesn't Exist");
    }

switch ($action)
    { //decide what to do

    // Add

case "add":

$order[] = $product_id;

    if (isset($_SESSION['user']))
        {
        $productadd = sprintf("INSERT INTO tbl_basket (customer_id, product_id, basket_status) VALUES ('" . $_SESSION['user'] . "','$product_id','basket')");
        mysql_query($productadd);
        break;
        }
      else
        {

        $productadd = sprintf("INSERT INTO tbl_basket (customer_id, product_id, basket_status, user_type) VALUES ('" . $_SESSION['guestuser'] . "','$product_id','basket', 'guest')");
        mysql_query($productadd);
        break;
        }

    // Remove

case "remove":
    if (isset($_SESSION['user']))
        {
        $productremove = sprintf("DELETE FROM tbl_basket WHERE customer_id = '" . $_SESSION['user'] . "' AND product_id = '$product_id'");
        mysql_query($productremove);
        break;
        }
      else
        {
        $productremove = sprintf("DELETE FROM tbl_basket WHERE customer_id = '" . $_SESSION['guestuser'] . "' AND product_id = '$product_id'");
        mysql_query($productremove);
        break;
        }

    // Empty

case "empty":
    if (isset($_SESSION['user']))
        {
        $empty = sprintf("DELETE FROM tbl_basket WHERE customer_id = '" . $_SESSION['user'] . "' AND order_status = 'basket'");
        mysql_query($empty);
        break;
        }
      else
        {
        $empty = sprintf("DELETE FROM tbl_basket WHERE customer_id = '" . $_SESSION['user'] . "' AND order_status = 'basket'");
        mysql_query($empty);
        break;
        }
    }

if (isset($_SESSION['user']))
    {
    $result = mysql_query("SELECT * FROM tbl_basket a INNER JOIN tbl_products b ON a.product_id = b.product_id WHERE a.customer_id = '" . $_SESSION['user'] . "'");
    }
  else
    {
    $result = mysql_query("SELECT * FROM tbl_basket a INNER JOIN tbl_products b ON a.product_id = b.product_id WHERE a.customer_id = '" . $_SESSION['guestuser'] . "'");
    }

當您執行$order = array();時,將清除$order的先前值$order = array();
只需刪除該行,然后$order[] = $product_id; 將另一個項目添加到數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM