สอบถามเรื่องวนลูปบันทึกเข้า 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 ในสองข้อมูลแรก
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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()); } } |

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
1 2 3 4 5 6 | for ( $i =0; $i <3; $i ++){ echo $i . "\r\n" ; for ( $v =0; $v <2; $v ++){ echo "-" . $v . "\r\n" ; } } |

ยังเป็นแบบนี้ครับ
ID เลขอ้างอิง รายละเอียด
1 - 2 - ข้อมูลรายละเอียดงบประมาณที่1(ข้อมูลจากกิจกรรมแรก)
2 - 2 - ข้อมูลรายละเอียดงบประมาณที่2(ข้อมูลจากกิจกรรมแรก)
3 - 2 - ข้อมูลรายละเอียดงบประมาณที่1
4 - 2 - ข้อมูลรายละเอียดงบประมาณที่2
5 - 2 - ข้อมูลรายละเอียดงบประมาณที่3

ขออณุญาตแก้ไขครับดูผิด
เป็นแบบนี้แทนครับ
เหมือนมันบันทึกทั้งสองเลยครับ
ID เลขอ้างอิง รายละเอียด
1 - 1 - ข้อมูลรายละเอียดงบประมาณที่1(ข้อมูลจากกิจกรรมแรก)
2 - 1 - ข้อมูลรายละเอียดงบประมาณที่2(ข้อมูลจากกิจกรรมแรก)
3 - 1 - ข้อมูลรายละเอียดงบประมาณที่1
4 - 1 - ข้อมูลรายละเอียดงบประมาณที่2
5 - 1 - ข้อมูลรายละเอียดงบประมาณที่3
6 - 2 - ข้อมูลรายละเอียดงบประมาณที่1(ข้อมูลจากกิจกรรมแรก)
7 - 2 - ข้อมูลรายละเอียดงบประมาณที่2(ข้อมูลจากกิจกรรมแรก)
8 - 2 - ข้อมูลรายละเอียดงบประมาณที่1
9 - 2 - ข้อมูลรายละเอียดงบประมาณที่2
10 - 2 - ข้อมูลรายละเอียดงบประมาณที่3


