簡體   English   中英

銷售點系統

[英]Point of Sale System

我正在為客戶開發基於 Web 的銷售點系統。 系統即將完成,但我遇到了一些小問題。

訂單項存儲在一個數組中,該數組存儲在會話變量中,如下所示:

[items] => Array
    (
        [0] => Array
            (
                [id] => 15
            )

        [2] => Array
            (
                [id] => 16
            )

        [3] => Array
            (
                [id] => 15
            )

        [4] => Array
            (
                [id] => 16
            )

    )

此代碼顯示項目:

注意:對於 $items 變量中的每個 ID,我都會在數據庫中進行查找以提取有關該項目的附加信息。

  foreach($items as $item) {
    $cc++;
    $id = $item['id'];
    $item_db = $db->query("SELECT * FROM inventory WHERE id='$id' LIMIT 1")->fetch_array();
    $subtotal += $item_db['price'];

    $quantity = 1;

    if(!empty($item_db['name'])) {
    ?>
    <tr style="visibility: hidden">
    <td> <a href="?deleteItem=<?=$cc?>" style="color:#000"><i class="fa fa-trash"></i></a> </td>
    <td> <?=$item_db['name']?> </td>
    <td> <?=$quantity?> </td>
    <td> <?=$currency?><?=round($item_db['price'],2)?> </td>
    </tr>
    <?
    }
    }
    ?>

我將如何對項目進行分組,而不是多次顯示數量為 1 的同一項目,而是將條目分組並顯示所有條目的總數(相同)?

例如,而不是:

Laptop 1
Laptop 1

我想顯示:

Laptop 2
  • 首先創建一個數組來保存對 id 進行計數的結果。
  • 然后循環遍歷項目,每個數組獲取子數組 id 的值。
    • 如果計數器數組沒有該 id 作為鍵,則將其添加為 id 作為鍵,值為 1。
    • 如果計數器數組確實將該 id 作為鍵,則將該 id 的值增加 1。

現在您將產品的 id 作為鍵,將產品的數量作為值。

暫無
暫無

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

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