Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > อยากทราบวิธีการ insert ข้อมูล หลาย ๆ ข้อมูลพร้อมกันครับ



 

อยากทราบวิธีการ insert ข้อมูล หลาย ๆ ข้อมูลพร้อมกันครับ

 



Topic : 113281



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์




ผมจะทำการอนุมัติการลงทะเบียนเรียนของกลุ่มนักศึกษา

จากรูปที่ 1 จะเลือกกลุ่มนักศึกษาเพื่อทำการลงทะเบียน โดยมีรายชื่อตามรูปที่ 2

รูปที่ 1
1

รูปที่ 2
2

และนี้คือ code process

Code (PHP)
<?php
session_start();
$path = "../../../include/";
include($path."database_info.php");

echo $select_box =  $_POST["select_box"];
echo $process = $_POST["process"];
echo $iddd = $_POST["uidd"];
//exit();
?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
if($process == "submituser"){
foreach($select_box as $index => $value){
		$sql_select = "SELECT a.STUDENT_GROUP_ID,b.UID,c.STATUS_COOP FROM STUDENT_GROUP a
						   INNER JOIN GROUPS b ON a.STUDENT_GROUP_ID = b.STUDENT_GROUP_ID 
						   INNER JOIN USER c ON b.UID = c.UID
						   WHERE a.STUDENT_GROUP_ID = '".$value."' AND c.STATUS_COOP = '0'";
		$query_select = $db->query($sql_select);	
		$row_select  = $db->rows($sql_select);
		$rec_select = $query_select->fetch(PDO::FETCH_ASSOC);
		
		for($i=0;$i<=$row_select;$i++){
		$array_set = array(
					UID => $rec_select["UID"],
					TERM_CODE => $term_n,
					YEAR_CODE => $year_n
		);
		$db->insert($array_set," coop ");
		
		$sql1 = (" select COOP_ID from COOP		
				 ORDER BY COOP_ID DESC ");
		$query1 = $db->query($sql1); 
		$row1  = $db->rows($sql1);
		$checkftoeic = $query1->fetch(PDO::FETCH_ASSOC);
	
		$insert_reg = array(
					REG_COOP_ID =>  $term_n.$year_n,
					UID => $rec_select["UID"],
					TERM_CODE => $term_n,
					YEAR_CODE => $year_n,
					CALENDAR_REG_ID => $calendar_reg_id,
					COOP_ID => $checkftoeic["COOP_ID"]
					);
					$db->insert($insert_reg," reg_coop ");
					
		$sql = (" select COOP_ID from coop
				 ORDER BY COOP_ID DESC ");
		$query = $db->query($sql); 
		$row  = $db->rows($sql);
		$checkid = $query->fetch(PDO::FETCH_ASSOC);
		
		$insert_coop_sco = array(
					COOP_ID => $checkid["COOP_ID"]
					);
					$db->insert($insert_coop_sco," coop_sco ");
	}
}
	echo "<script>alert('อนุมัติการลงทะเบียนเรียบร้อยแล้ว');window.location.href = '../admin_possibility_precoop.php';</script>";
}



อยากทราบว่าจะวน for ยังไงเพื่อให้ จำนวนคนใน row สามารถ insert ลง table ได้ทุกคน เพราะตอนนี้มันวน คนแรกคนเดียว แล้วแจ้งว่าเป็น Primary Key ซ้ำไม่ได้(เพราะมันวนคนเดิม)



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-12-16 17:19:21 By : por-jr View : 969 Reply : 9
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ต้องดูครับ ว่า primary key คือ field อะไรครับ เป็น autoincrement หรือไม่

ได้ถูกกำหนดค่าเป็นเท่าไหร่

ในโปรแกรม มันมี loop อยู่ สองอัน ก็ต้องเช็คให้ดีนะครับว่า อันไหนที่มันทำให้ซ้ำกัน






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-16 17:46:42 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-12-16 17:46:42
รายละเอียดของการตอบ ::
Table coop มี COOP_ID ออโต้
Table reg_coop เป็นคีย์ร่วม REG_COOP_ID,UID
Table coop_sco ไม่มีคีย์หลัก

error เหมือนมันแจ้งว่า Table reg_coop มีคีย์ซ้ำกัน

เช่น 1234,test พอวนอีกรอบมันก็ 1234,test

ผมไม่รู้ว่า จะให้วนเป็นคนถัดไปต้องแก้ยังไง
เช่น
คนที่ 1 1234,test
คนที่ 2 1234,tests




ประวัติการแก้ไข
2014-12-16 18:23:29
2014-12-16 18:26:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-16 18:20:42 By : por-jr
 

 

No. 3



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


39.REG_COOP_ID => $term_n.$year_n,
สีแดง เอามาจากไหนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-16 18:35:34 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ถามก่อนครับ database เป้นอะไรครับ mysql หรือ sqlserver


ประวัติการแก้ไข
2014-12-16 18:43:56
2014-12-16 18:50:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-16 18:43:14 By : Chaidhanan
 


 

No. 5



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-12-16 18:35:34
รายละเอียดของการตอบ ::
ตัวแปลดึงมาจากหน้าอื่นครับ มันใช้ได้ครับพี่

ใช้ mysql

ข้อมูลเข้าทุกอย่างครับ

แต่ UID มันวนซ้ำคนเดิม มี 11 คน มันก็วนแค่คนที่ 1 อยากหาวิธีวนคนถัดไป

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 04:12:12 By : por-jr
 


 

No. 6



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
	$insert_reg = array(
		REG_COOP_ID =>  $term_n.$year_n,
		UID => $rec_select["UID"],
		TERM_CODE => $term_n,
		YEAR_CODE => $year_n,
		CALENDAR_REG_ID => $calendar_reg_id,
		COOP_ID => $checkftoeic["COOP_ID"]
	);
	$db->insert($insert_reg," reg_coop ");


$insert_reg มีการเซทตัวแปร
REG_COOP_ID => $term_n.$year_n,
UID => $rec_select["UID"],

ซึ่งเป็นค่าที่ได้มาจากนอก loop ทั้งสิ้น แลังยังเป็น unique อีกด้วย

เมื่อมันอยู่ใน loop เดียวกัน จาก
for($i=0;$i<=$row_select;$i++){

และนำไปใช้ insert ด้วยคำสั่ง $db->insert($insert_reg," reg_coop ");
ยังไงมันก็ insert ไม่ได้ เพราะมัน insert ค่าเดียวกัน

คุณต้องหาให้ได้ว่า ความแตกต่าง ของ ตัวแปร ที่จะเอาไปใช้ มันคืออะไรแน่

และ field ที่กำหนดนี้ ควรจะเป็น unique หรือไม่ จำเป็นต้องซ้ำกันได้ไหม
และถ้าต้องการไม่ให้ซ้ำ มันควร กำหนดเป็น เซท แค่ 2 field หรือไม่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 05:22:38 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-12-17 05:22:38
รายละเอียดของการตอบ ::
table reg_coop field REG_COOP_ID,UID เป็นคีย์ร่วม
REG_COOP_ID นั่นจะเก็บค่า ปี,ภาคเรียน คือ 12557
UID จะเป็นการเก็บยูสเซอร์นักศึกษาที่ลงทะเบียน คือ xxxx.x1 หรือ xxxx.x2

ปกติการ insert ที่ถูกต้องต้องเป็น

REG_COOP_ID UID
12557 xxxx.x1
12557 xxxx.x2

แต่ผมต้องขอโทษไว้ ณ ที่นี้ด้วย ว่าผมไม่เข้าใจจริงๆ(ผมเป็นคนเข้าใจยาก) ว่าจะทำอย่างไรให้ UID นั่นวนใน $row_select ได้
ถ้านักศึกษาลงทีละคน จะไม่มีปัญหาเพราะลง UID ของใครของมัน แต่อันนี้เป็นกันลงทะเบียนทั้งกลุ่ม พร้อมกัน(ของ admin)

เพราะตอนนี้มันจะขึ้น มีคีย์หลักอยู่แล้ว

REG_COOP_ID UID
12557 xxxx.x1
12557 xxxx.x1

พี่ๆ พอจะมีวิธีแนะนำบ้างมั๊ยครับ




ประวัติการแก้ไข
2014-12-17 06:31:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 06:29:19 By : por-jr
 


 

No. 8



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


22.$rec_select = $query_select->fetch(PDO::FETCH_ASSOC);
23.
24.for($i=0;$i<=$row_select;$i++){


ว่าจะให้คิดเองน่ะน้า เขียนมาขนาดนี้ บอกก็ได้ 5555
ย้าย บันทัด 22 มาไว้ ใน loop for คือ สลับ กับบันทัด 24

คือมันไปอยู่นอกรูป มันก็ได้ค่าเดียวตลอด
เอามาอยู่ใน loop มันจะได้ดึงค่าใหม่ ทุกครั้งที่ วน loop
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 06:40:20 By : Chaidhanan
 


 

No. 9



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-12-17 06:40:20
รายละเอียดของการตอบ ::
อ๋อ อย่างนี้นี่เอง ขอบคุณมากครับ ฮ่าๆๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 06:41:46 By : por-jr
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากทราบวิธีการ insert ข้อมูล หลาย ๆ ข้อมูลพร้อมกันครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่