สอบถามการบันทึก ข้อมูล array ลง ฐานข้อมูล พร้อมกัน หลายค่า ครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามการบันทึก ข้อมูล array ลง ฐานข้อมูล พร้อมกัน หลายค่า ครับ

สอบถามการบันทึก ข้อมูล array ลง ฐานข้อมูล พร้อมกัน หลายค่า ครับ
ผมทำฟอร์มกรอบข้อมูล เป็น เช็คบ๊อก แล้ว มีรายละเอียดต่างๆ

<form id="formcrate" name="formcrate" action="general_save.php" method="post" >
<div class="choice ">
	<input type="checkbox" name="type[]" value="ประเภท1">ประเภท1
	<label  >สาเหตุ</label>
	<input  type="text" name="cause[]" >
	<label  >รายละเอียด</label>
	<input  type="text" name="desc[]" >
</div>

<div class="choice ">
	<input type="checkbox" name="type[]" value="ประเภท2">ประเภท2
	<label  >สาเหตุ</label>
	<input  type="text" name="cause[]" >
	<label  >รายละเอียด</label>
	<input  type="text" name="desc[]" >
</div>

<div class="choice ">
	<input type="checkbox" name="type[]" value="ประเภท3">ประเภท3
	<label  >สาเหตุ</label>
	<input  type="text" name="cause[]" >
	<label  >รายละเอียด</label>
	<input  type="text" name="desc[]" >
</div>
<input name="gen_submit" type="submit" value="บันทึก">
<input type="reset" value="ยกเลิก">
</form>
		
หน้าบันทึกครับ


$type = $_POST['type'];
$cause = $_POST['cause'];
$desc = $_POST['desc'];

foreach($type as $key => $val) {
	if($type[$key] != "") {
		$sql_type ="INSERT INTO `tbl_type` ( `type_id` ,
			`type` ,
			`cause` ,
			`desc` ) VALUES ( NULL ,
			'$type[$key]',
			'$cause[$key]',
			'$desc[$key]'')";
		$que_type = mysql_query($sql_type);
	}


คือว่าข้อมูลเข้าไม่ครบนะครับ เข้า แค่ array ตัวแรก คือค่า type ค่า case  กับ desc  ไม่บันทึกให้นะครับ
วิธีการ บันทึก array เขาบันทึกยังไงหรอครับ ช่วยแนะนำหน่อยครับ


Wowowow 25-05-2014 00:15:23

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
เป็นกับเงื่อนไขของ checkbox จะเช็คแบบ
มีค่าหรือไม่มีค่าไม่ได้ ต้องเช็คว่า มีตัวแปรหรือไม่
 
เพิ่มตัวนี้ไปก็ใช้ได้
 

	if(isset($type[$key]) && $type[$key] != "") {


ninenik 25-05-2014
 ความคิดเห็นที่ 2
ยังไม่ได้เลยครับ
ผมทำการติ๊กเช็คบ๊อก ทีประเภท 1  และประเภท3 ข้อมูล จะเข้า แค่ ประเภท1 ครับ

ผม print_r ดู ปรากกฎว่า  array  ที่มา มันไม่ เท่ากัน เลยทำให้ บันทึกข้อมูลไม่ได้ จะแก้ยังไงครับ

array ตัวแรก เป็น เช็คบ๊อก  ติ๊ก  เลยมา  2 ค่า
แต่  array อีก 2 อัน เป็น textbox  ค่า เลยมา 3 ค่า พอผม วนลูป ใน
foreach ($type as $key => $value) {       };
ค่าที่ปริ้น ออกมา นะคับ

Array ( [0] =>ประเภท1 [1] =>ประเภท3)
Array ( [0] =>สาเหตุ1 [1] => [2] =>สาเหตุ3 )
Array ( [0] =>รายละเอียด1 [1] => [2] =>รายละเอียด3 [3] )


wowowow 25-05-2014 15:59
 ความคิดเห็นที่ 3
แบบนี้น่าจะส่งเป็นแบบค่า key ไปแทน และใช้  hidden เป็นค่าที่ต้องการ เดี๋ยวเพิ่มไว้เป็นบทความ 
ไว้ใช้งาน


ninenik 25-05-2014
 ความคิดเห็นที่ 4
แนวทางการส่งค่า จาก checkbox เพื่อบันทึกข้อมูลแบบ array ใน php 


ninenik 25-05-2014
 ความคิดเห็นที่ 5
ขอบคุณมากครับ


wowowow 25-05-2014 22:24
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ