0

管理者が顧客が行った注文を表示できるようにするスクリプトがあり、そこで注文の詳細を表示するか、注文を削除するかを決定できます。ユーザーは、データベース内のエントリが同じ order_id で作成される 1 つ以上のアイテムを注文できますが、product_id は異なります。注文を表示すると、これらの重複したエントリが表示されますが、order_id ごとに 1 つのエントリのみが必要です。以下は私の機能です

function viewOrdersAdmin(){
//This block grabs the orders
$order_list = "";
//Selecting all the orders in the table from that member
$sql = mysql_query("SELECT * FROM `transactions`") or die(mysql_error());

while ($transactions = mysql_fetch_array($sql)) {
    //creating variables from the information
    $order_id = $transactions["order_id"];
    $mem_id = $transactions["mem_id"];

    $order_details = mysql_query("SELECT * FROM `transactionDetails` WHERE `order_id` = $order_id") or die(mysql_error());
    $orderDetailsCount = mysql_num_rows($order_details);
    while ($row = mysql_fetch_array($order_details)) {
        //creating variables from the information
        $order_product_id = $row["Product_ID"];

        $member_details = mysql_query("SELECT * FROM `members` WHERE `mem_id` = $mem_id") or die(mysql_error());
        $memberDetailsCount = mysql_num_rows($member_details);
        while ($row2 = mysql_fetch_array($member_details)) {
            //creating variables from the information
            $order_mem_fname = $row2["mem_first_name"];
            $order_mem_lname = $row2["mem_last_name"];

        $order_list .= "Order ID:$order_id - Customer Name: $order_mem_fname $order_mem_lname  &nbsp; &nbsp; &nbsp; <a href='manage_order.php?orderid=$order_id'>View</a> &bull; <a href='manage_orders.php?deleteid=$order_id'>Delete</a><br/>";

        }
    }
}

if (count($orderDetailsCount) == 0) {
    $order_list = "You have no orders to display";
}

print_r($order_list);
}
4

1 に答える 1

1
SELECT *
FROM transactions
GROUP BY order_id
于 2013-03-15T23:22:30.913 に答える