สอบถามเรื่องวนลูปบันทึกเข้า db ครับ กรณีมีสองลูป
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามเรื่องวนลูปบันทึกเข้า db ครับ กรณีมีสองลูป
ผมจะวนลูปอย่างไรในการบันทึกในกรณีนี้ครับ
คือ
1. loop ที่1 บันทึกค่ากิจกรรม (ตามรูปมีสองกิจกรรม คือหมายเลข 1 และ 2 ช่องสีน้ำเงิน) tb1
2. loop ที่2 บึนทึก รายละเอียดงบประมาณไตรมาส(ช่องเขียว) ซึ่งจะเก็บ ID จาก loop แรกมาด้วย เพื่อมาใช้อ้างอิง(fk)กัน tb2
เช่น
กิจกรรมที่ 1 มีรายละเอียดงบประมาณ 2 ค่า ใน db ก็จะเก็บ id เลขอ้างอิงเป็น
ID เลขอ้างอิง รายละเอียด
1 - 1 - ข้อมูลรายละเอียดงบประมาณที่1
2 - 1 - ข้อมูลรายละเอียดงบประมาณที่2
กิจกรรมที่ 2 มีรายละเอียดงบประมาณ 3 ค่า ใน db ก็จะเก็บ id เลขอ้างอิงเป็น
ID เลขอ้างอิง รายละเอียด
3 - 2 - ข้อมูลรายละเอียดงบประมาณที่1
4 - 2 - ข้อมูลรายละเอียดงบประมาณที่2
5 - 2 - ข้อมูลรายละเอียดงบประมาณที่3
ตอนนี้ผมทำแล้วแต่มันดันเป็นแบบนี้
ID เลขอ้างอิง รายละเอียด
1 - 2 - ข้อมูลรายละเอียดงบประมาณที่1(ข้อมูลจากกิจกรรมแรก)
2 - 2 - ข้อมูลรายละเอียดงบประมาณที่2(ข้อมูลจากกิจกรรมแรก)
3 - 2 - ข้อมูลรายละเอียดงบประมาณที่1
4 - 2 - ข้อมูลรายละเอียดงบประมาณที่2
5 - 2 - ข้อมูลรายละเอียดงบประมาณที่3
เลขอ้างอิงมันดันมีแต่ 2 แทนที่จะเป็น 1 ในสองข้อมูลแรก
for ($i = 0; $i < count($_POST["txtindex_plan"]); $i++) { $txtindex_plan = str_replace(",", "", $_POST["txtindex_plan"]); $sql_ac = "INSERT INTO activity(P_id, ac_desc, activity_results, p_of_time1, p_of_time2, p_of_time3, p_of_time4, p_budget, p_per, ac_budget) VALUES('$P_id', '" . $_POST["txtindex_plan"][$i] . "', '" . $_POST["txtactivity_results"][$i] . "', '" . $_POST['txtTime_plan1'][$i] . "', '" . $_POST["txtTime_plan2"][$i] . "', '" . $_POST["txtTime_plan3"][$i] . "', '" . $_POST["txtTime_plan4"][$i] . "', '" . $txtbudget_plan[$i] . "', '" . $_POST["txtper_plan"][$i] . "', '" . $_POST["txtac_budget_plan"][$i] . "')"; $result5 = mysqli_query($con, $sql_ac) or die("Error in query: $sql_ac " . mysqli_error()); $ac_id = mysqli_insert_id($con); for ($i = 0; $i < count($_POST["budget_description"]); $i++) { $sql_budget = "INSERT INTO tb_budget(ac_id, description, budget) VALUES('$ac_id', '" . $_POST["budget_description"][$i] . "', '" . $_POST["budget_activity"][$i] . "')"; $result6 = mysqli_query($con, $sql_budget) or die("Error in query: $sql_budget " . mysqli_error()); } }
คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ