10/10/2018, 11:32

[Help] Tính tổng số hàng

Mình có bảng như hình



Các biến tenhang[], soluong[] là chuỗi.

Ví dụ: mặt hàng số 6 có ở 2 đơn hàng với số lượng lần lượt là: 23, 4. Vậy tổng là 27.

Mọi người giúp mình tính tổng số lượng của mỗi mặt hàng với
baphuc1024 viết 13:43 ngày 10/10/2018
Hình như bạn phân tích hệ thống sai rồi thì phải. Theo tôi nghi csdl của bạn ít nhất phải giống như thế nầy.

MAT_HANG(MA_HANG,TEN_HANG,NGAY_NHAP,GHI_CHU)
CHI_TIET_DON_HANG(MA_DON_HANG,MA_HANG,SO_LUONG_MUA )

Rồi bạn sử dụng câu SQL sau:

SELECT MA_HANG,SUM(SO_LUONG_MUA) AS TONGSOLUONG
FROM CHI_TIET_DON_HANG
WHERE MA_HANG='6'
GROUP BY MA_HANG

Đại khái là như vậy. Có thể câu lệnh SQL ko đúng cú pháp (lâu rồi ko xài SQL) nhưng về ý tưởng thì đúng rồi
sonnb viết 13:39 ngày 10/10/2018
Bạn quả là quả cảm với cách lưu dữ liệu thế này . Bạn nên xem comment của bạn baphuc1024 để tham khảo. Nếu bạn vẫn muốn giữ nguyên cách lưu db thì:

- Theo cách hiện tại. explode tenhang và soluong để biến thành array. Từ đó lấy dữ liệu từ hai mảng (dùng vòng lặp for)

- Bỏ cột tenhang và soluong tạo 1 cột data. Ở PHP để theo array, ví dụ:
PHP Code:
$array = array(
                        array(
'tenhang'=>6'soluong'=>23),
                        array(
'tenhang'=>7'soluong'=>23),
                   );
//Lưu giá trị vào database dùng function serialize
$array serialize($array);
$db->saveToDb($array); //Đây là function ví dụ, không phải thực tế.

//Khi đọc dữ liệu thì dùng unserialize
$array $db->readFromDb($data); //Đây là function ví dụ, không phải thực tế.
$array unserialize($array);
//Khi này $array sẽ là 1 array như trước khi lưu vào database. Bạn có thể lấy dữ liệu theo key. 
spacy_avenis viết 13:44 ngày 10/10/2018
Cám ơn 2 bạn baphuc vs sonnb nhiều nhé. Tiện đây 2 bạn cho mình hỏi tiếp với

Ví dụ: Trong 1 đơn hàng.

MA_DON_HANG = 01 gồm có nhiều MA_HANG (01,02,03...) đi kèm với SO_LUONG_MUA tương ứng.

Trên giao diện có thể nhập nhiều MA_HANG cùng lúc trong đơn hàng đó, rồi submit 1 lần để INSERT dữ liệu vào database thì cách giải quyết sao cho gọn gàng nhất.

Thanks again!
conglq viết 13:39 ngày 10/10/2018
Bắt đầu vào PHP, thấy hoa cả mắt!
Bài liên quan
0