Lỗi không insert được dữ liệu

Mọi người ơi, em đang làm form hóa đơn. Em insert dữ liệu vào 2 bảng là hóa đơn và chi tiết hóa đơn. Em đã insert vào bảng hóa đơn (mã hoa don, ngày lập, nhan vien) thì được rồi. nhưng câu insert thứ 2 là insert vào bảng chi tiết hoa đơn thì lại không được mong mọi người giúp đỡ.


(Mình ngĩ là do mình không bắt được id bên mã món bên bảng chi tiết hóa đơn á. nên nó không thể hiểu vào thêm vào được)
file index.php form hóa đơn

<form name="luuhd" id="luuhd" action="modules/demo-table/xuly.php" method="post" enctype="multipart/form-data">	
<h2 style="text-align:center;">Danh sách món trong hóa đơn</h2>
    
  <h5 style="margin-top:10px;margin-bottom:10px;">
     Mã HĐ:  <input name="mahd" type="text" readonly="readonly"  id="mahd" size="3" value="<?php
	   	$r = mysql_query("show table status like 'hoadon' ");
		$row = mysql_fetch_array($r);
		echo $row['Auto_increment'];
	   ?>"/>
        
  	 Ngày lập:  <?php $ngaylap = +7;
            echo '<input type="text" name="ngaylap" size = "20" readonly="readonly"  id="ngaylap" value="'.gmdate("HA:i:s | d-m-Y", time() + 3600*($ngaylap + date("I"))).'">';
        ?>
     Nhân viên:  <input name="nhanvien" type="text" id="nhanvien" readonly="readonly" value="<?php echo $_SESSION['currTen']?>" size="17"/>
    </h5>
          <!-- Bảng chi tiết trong hóa đơn -->
      
   <table class="table table-bordered table-hover" style="margin-left:auto;margin-right:auto;">
       <thead>
          <tr>
             <th>STT</th>
             <th>Mã món</th>
             <th>Tên món</th>
             <th>Đơn giá</th>
             <th>Số lượng</th>
             <th>Thành tiền</th>
             <th>Xóa</th>
             <th>Lưu</th>
          </tr>
       </thead>
       <tbody id="bill-table" class="chitiet">
          <tr>
             <td colspan="8" class="empty">Chưa chọn món</td>
          </tr>
       </tbody>
       <tfoot>
       	<th></th>
        <th></th>
        <th></th>
        <th></th>
       
		<th>Tổng tiền:</th>
        <th style="text-align:center"; class="total" ></th>
         <th></th>
        <th></th>
       </tfoot>
   </table>
   </form>

	<!--
	  <h4 style="text-align:center;margin-top:10px;margin-bottom:10px;">Tổng tiền:<input name="tongtien" type="text" id="tongtien" class ="total" value="" size="20" />-->
     
	 <input type="submit" name="luuhd" id="luuhd" value=" Lưu " />
	  <input type="submit" name="inhd" value=" In Hóa Đơn " />
     </h4>
 </form>
 </div> 
 
<script type="text/javascript">

//hàm của nút delete
	$(function(){
		$('.right').delegate('.delete','click',function(){
			$(this).parent().parent().remove();
		});
	});
//ham luu csdl
/*$(function(){
	$('.chitiet').delegate('.savect','click',function(){
		//luu o day	
	});
})	
*/	
	
//ham tinh tong tien



function total(){
	var t= 0;
	$('.bill-total').each(function(i, e) {
        var amt = $(this).html()-0;
		t += amt;
    });
	$('.total').html(t);
}

//ham tinh tong
(function() {

var index = 1;

$('.btn-choose').on('click', choose);
$('#bill-table').on('change keyup paste', '.bill-quantity', changeValue);

function choose() {
	var self = this,
		bill = $('#bill-table'),
		data = getDataMenu($(self).parent().parent()),
		html = createRow(data);

	if (bill.find('.empty').length) {
		bill.empty();
	}

	bill.append(html);
}

function changeValue() {
	var self = this,
		row = $(self).parent().parent(),
		data = getDataBill(row);

	row.find('.bill-total').html(calculate(data.price, data.quantity));
}

function getDataMenu(row) {
	var id = $(row.find('.col-id')).html(),
		name = $(row.find('.col-name')).html(),
		price = $(row.find('.col-price')).html();
	

	var data = {
		id: id,
		name: name,
		price: price
	}

	return data;
}

function getDataBill(row) {
	var price = $(row.find('.bill-price')).html(),
		quantity = $(row.find('.bill-quantity')).val();
		
	var data = {
		price: price,
		quantity: quantity
	
	}

	return data;
}

function createRow(data) {
	var html = '<tr>';

	html += '<td>' + index + '</td>';
	html += '<td><input type="text" id="col-id" name="col-id" size="3" readonly="readonly" value="' + data.id + '" /></td>';
	html += '<td id="col-name">' + data.name + '</td>';
	html += '<td class="bill-price" id="bill-price">' + data.price + '</td>';
	html += '<td><input type="text" value="1" class="bill-quantity" name="bill-quantity" size = "3" id="bill-quantity" /></td>';
	html += '<td class="bill-total" id="bill-total">' + calculate(data.price, 1) + '</td>';
	html += '<td><input type="submit" value="Delete" class="delete" name="delete"/></td>';
	html += '<td></td>';
	html += '</tr>';
	

	return html;
}

function calculate(price, quantity) {
	return price * quantity;
}



})();

</script>
   

	</div>

form xử lý đê insert dữ liệu

   <?php
	include ("../../../Connections/conf.php");
		
		//dữ liệu của bảng hóa đơn
		//$mahd= $_GET["mahd"];
		$ngaylap = $_GET["ngaylap"];
		$nhanvien = $_GET["nhanvien"];	
	
	if(isset($_POST["luuhd"])){
		mysql_query( "insert into hoadon (ngaylap,manv) 	
							value('$ngaylap','$nhanvien')");
		$id = mysql_insert_id();
		mysql_query("INSERT INTO chitiethd  
						SET mahd = '{$id}',
							mamon = '{$_POST['col-id'][$i]}',
							soluong = '{$_POST['bill-quantity'][$i]}'
						");
	header("location: ../../../manager/index.php?quanly=hoadon&ac=themhd");
	}
?>

Có ai giúp mình không . Mình đang rất cần bài này ạ.

anh không chạy code được nên không biết code của em sai chỗ nào.
Nên em đọc link dưới để biết cách debug trên php.
Em chạy debug rồi đưa lỗi lên đây hoặc là tự lên mạng tìm
Làm lập trình thì phải biết cách debug, để tự mình kiểm tra lỗi.

http://blog.teamtreehouse.com/how-to-debug-in-php

Chỗ này nên kiểm tra nếu insert thành công thì làm tiếp, còn không thì báo lỗi. Làm sao em biết sẽ luôn luôn insert thành công. Đôi khi sẽ bị lỗi mà mình không biết nguyên nhân lỗi.

em insert

mysql_query( "insert into hoadon (ngaylap,manv) 
value('$ngaylap','$nhanvien')");

này thành công rồi. nó vào được dữ liệu. Vấn đề lấy lấy id của nó để thêm vào bảng chi tiết thì bảng chi tiết nó không vào ạ

Nên anh kêu em đặt debug để xem khi chạy thì nó bị lỗi gì.
Em không đưa ra được bị lỗi gì thì làm sao sửa được.
Mọi người đâu có thể lấy code của em để chạy được.

chạy cái đó thì nó chỉ hiện lỗi bên js mà em hk bik sửa.

Lỗi này liên quan đến js rồi. Chứa chưa dính đến lỗi php.
Để anh nhờ bạn khác vào giúp.

Thiếu thư viện jQuery. Thêm nó vào trước các file js khác:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

mình thêm rồi và nó cũng gị á bạn

Thứ tự: jQuery > Bootstrap JS > JS do bạn viết.

hết được 2 lỗi bootstrap á bạn . mà cón 2 lỗi

Cái đó không quan trọng, code bạn vẫn chạy tốt chứ?

#Vong_Hoang_Tuong#masoivn ơi, em insert vào được rồi , nhưng chỉ vào được 1 vào được 1 món à

$ngaylap = $_POST["ngaylap"];
	$nhanvien = $_POST["nhanvien"];	

if(isset($_POST["luuhd"])){
	mysql_query( "insert into hoadon (ngaylap,manv) 	
						value('$ngaylap','$nhanvien')");
	$id = mysql_insert_id();
	
	for ($i=0; $i < count($_POST['col-id']);$i++){
		
		mysql_query("INSERT INTO chitiethd  
					SET mahd = '{$id}',
						mamon = '{$_POST['col-id'][$i]}',
						soluong = '{$_POST['bill-quantity'][$i]}'
					");
	}

Em tìm hiểu cách debug code đi.
Anh không thể giúp được gì em khi anh không chạy được code này.

Thử kiểm tra xem count($_POST[‘col-id’]) có bao nhiêu dòng,

Tôi nghĩ bạn đúng. Điều này không liên quan đến PHP. Nếu bạn đã chạy mã này với gỡ lỗi PHP và ghi nhật ký lỗi được kích hoạt và bạn không nhận được gì từ đó thì đây phải là thứ gì đó không phải là PHP. Để chắc chắn, hãy kiểm tra xem bạn đã thực hiện sửa lỗi PHP đúng chưa. source: https://www.cloudways.com/blog/php-debug-with-xdebug/

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