Giúp mình ghi dữ liệu vào cơ sở dữ liệu trong php

Mình muốn lấy các giá trị của checkbox các giá trị tương ứng của checkbox đó để ghi vào cơ sở dữ liệu trong php.

các checkbox là: Bánh mì, thuốc lá, cocacola và tương ứng là số lượng, đơn giá, và thành tiền của các checkbox đó.
Nếu người dùng chọn checkbox là bánh mì và cocacola thì khi click button thì nó sẽ ghĩ hai dịch vụ này vào cơ sở dữ liệu cùng với các thông tin đi kèm như là số lượng, đơn giá và thành tiền.
Mình viết như sau thì nó chỉ ghi được phần dịch vụ vào cơ sở dữ liệu thôi (chưa ghi được các thông số: số lượng, đơn giá,… vào)

                        if (isset($_POST['dichvu'])) {
					    foreach($_POST['dichvu'] as $ten_dv) {
					         //Xử lý các phần tử được chọn
						    $sql3 = "INSERT INTO hoadon(
	    					ten_dv
	    					) VALUES (
	    					'$ten_dv'
	    					)";
                       mysqli_query($conn,$sql3);
						    }
					    echo "Đã ghi thành công dịch vụ vào cơ sở dữ liệu";
					    echo "<br>";
					}

Các pro giúp mình bổ sung để có thể ghi tất cả vào csdl

Cảm ơn nhiều

Cách đơn giản nhất để debug cái này là bạn dump từng câu query ra, xong bật sql lên chạy trực tiếp từng câu ấy là biết ngay lỗi chỗ nào.
Sau là nên try…catch vào, giống lúc kết nối mysql_connect ấy, để catch lỗi nếu insert có vấn đề.

1 Like

Cảm ơn bạn nhưng mình muốn hỏi là cách insert các thông số đi kèm với checkbox gồm có số lượng, đơn giá và thành tiền. (insert checkbox vào csdl với câu lệnh như trên là ok rồi bạn ạ).

Bạn có thể giúp mình thêm dòng lệnh vào đoạn code trên để insert thêm các thành phần tương ướng với checkbox đó vào cơ sở dữ liệu được không

Cảm ơn nhiều!

Mình chưa hiểu câu hỏi của bạn lắm, bạn có 3 cái check box này : Bánh mì, thuốc lá, cocacola. Thế còn những cái : số lượng, đơn giá, và thành tiền ; chúng là cái gì và ở đâu ra ?

1 Like

3 checkbox đó là thuộc cột dichvu và tên cụ thể của nó là value = “bánh mì”, value = “thuốc lá” và value = “bánh mì”. Và đương nhiên 3 dịch vụ trên sẽ đi kèm là số lượng và giá của chúng là bao nhiêu.

<input type = "checkbox" name = "dichvu[]" value = "Bánh mì" <input type = "text" name = "soluong" value = "0" <input type = "text" name = "dongia" value = "0" <input type = "text" name = "thanhtien" value = "0" <input type = "checkbox" name = "dichvu[]" value = "Thuốc lá" <input type = "text" name = "soluong" value = "0" <input type = "text" name = "dongia" value = "0" <input type = "text" name = "thanhtien" value = "0"

hiện tại mình đã đưa được mục dichvu[] là Bánh mì, thuốc lá vào csdl rồi, nhưng ko biết đưa số lượng và đơn giá, thành tiền vào như thế nào cả. Mong bạn giúp đỡ

Mục đích của mình là cho người bán hàng tính tiền khi khách chọn các dịch vụ: mua Bánh mì, mua thuốc là,… —> khi người bán tích chọn vào các checkbox đó thì phần mềm sẽ tính tiền tương ứng bằng cách lấy đơn giá nhân với số lượng ra thành tiền và ghi vào cơ sở dữ liệu.

Hiểu r.
Bạn để ý cái soluong, dongia, thanhtien khai báo thế kia k có mối quan hệ nào với dichvu[] cả.
Có thể chia thành dichvu1 dichvu2, hoặc làm mảng 2 chiều dichvu[prod1][soluong], dichvu[produ2][soluong]
Nói chung là làm sao liên kết được cái form với nhau.

Cái này thuộc về cart, bạn có thể tham khảo source code của shopping cart trên mạng, xem họ làm thế nào.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?