ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

Re: ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

โดย miwawaa » 30/11/2009 5:41 pm

ได้แล้วหล่ะได้แบบงง อันนี้เอามาแชร์ให้เผื่อมีคนอยากรู้
อันนี้เป็นไฟลล์ที่ส่งข้อมูลเข้าดาต้าเบสนะ
รับค่ามาจากฟอร์มตาราง

โค้ด: เลือกทั้งหมด

//print_r($_REQUEST['typeR']);
$getPath=$_REQUEST["html_pathL"];
$setName='';
if($_REQUEST["nameL"] != "") {include "connect.php";  
include "connect.php";  
				$SQLTXT = "INSERT INTO ld_law(law_idpk, type, name, html_path, noti_date, year, cancelled)";
				$SQLTXT .= "VALUES ('$law_idpkL', '$typeL', '$nameL', '$html_pathL', '$noti_dateL', '$yearL', '$cancelledL') ";
						mysql_query( $SQLTXT, $conn)
									or die ( "INSERT เกิดข้อผิดพลาด" ) . mysql_error();
	
				$result = mysql_query( "SELECT *  FROM ld_law WHERE html_path = '$getPath'" );
					while($row = mysql_fetch_array($result))	{
							$setName= $row["law_idpk"] ;
							echo "<br />";
						 }
mysql_close ( $conn );
}
					if ($_REQUEST['typeR'] != ""){
							$countdata=count($_REQUEST['name']);
							for ($i=0;$i<$countdata;$i++) {    

include "connect.php";   
//สร้างตัวแปรขึ้นมารับค่าที่ได้รับมาจากฟอร์ม Revise และ Update
$countdata=count($_REQUEST['name']);
$type=$_REQUEST["typeR"][$i];
$name=$_REQUEST["name"][$i];
$html_path=$_REQUEST["html_path"][$i];
$noti_date=$_REQUEST["noti_date"][$i];
$year=$_REQUEST["year"][$i];
$htmlpathU=$_REQUEST["htmlpathU"][$i];

					$SQLTXT2 = "INSERT INTO ld_law_revise(type, name, html_path, noti_date, year,law)";
					$SQLTXT2 .= "VALUES ('$type','$name','$html_path','$noti_date','$year','$setName')";
							mysql_query( $SQLTXT2, $conn)
									or die ("INSERT2 เกิดข้อผิดพลาด") . mysql_error();

					$resultId = mysql_query("SELECT *  FROM ld_law_revise WHERE html_path = '$html_path'");
										while($row = mysql_fetch_array($resultId))		{
										$setNameId= $row["revise_idpk"] ;
										//echo $setNameId;
										}

					$SQLTXT3 = "INSERT INTO ld_law_updated(html_path,revise)";
					$SQLTXT3 .= "VALUES ('$htmlpathU','$setNameId')";
							mysql_query( $SQLTXT3, $conn)
									or die ("INSERT3 เกิดข้อผิดพลาด") . mysql_error();            

mysql_close ( $conn );
}
}
?>

Re: ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

โดย KB » 30/11/2009 5:35 pm

ผมเจอแล้ว หาตั้งนาน

https://www.mindphp.com/forums/viewtopic ... 83&start=0

แต่ยังไม่ได้ลองนะ

Re: ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

โดย 4404 » 30/11/2009 4:15 pm

ผมก็หาวิธีทำแบบนี้อยู่เหมือนกัน มาช่วยกันหาในกระทู้เก่าๆ ดีกว่า แต่มันเยอะ หายากหน่อย จะค้นห้าก็ไม่รู้ใช้คีย์ไรดี

Re: ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

โดย mindphp » 18/11/2009 1:05 pm

ข้อมูลที่จะเก็บลงตาราง ต้อง insert ลงไปครับ
ทุกๆตารางครับ อยู่ๆมันจะเข้าไปเองไม่ได้

Re: ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

โดย miwawaa » 18/11/2009 8:57 am

มันเก็บให้เองหรอคะ
ไม่เข้าใจจิงๆ
assingment บอกว่า
ให้มีการจำค่า idpk ไว้
เพื่อที่จะไปลงข้อมูลตารางอื่นแล้วไม่ต้องกรอกซ้ำ
หนูต้อง insert ข้อมูลหลายตาราง
เค้าให้ insert ลงตารางหลักตารางหนึ่งก่อน
แล้ว select ค่า idpk ตารางนั้นจำไว้
พอเรา insert ข้อมูลลงตารางอื่น
ไม่ต้องใส่ idpk แล้ว

แบบนี้ต้องทำไง หรือมันเก็บให้เองตามที่พี่ด้านบนบอกมาคะ

Re: ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

โดย 4404 » 16/11/2009 11:43 pm

หวัดดีครับ แบบว่าเพิ่งเปิดมาเจอพอดี เลยขอแจมนิดนึง

ไอ้ที่ว่า "ข้อมูล ID ที่มีอยู่ในหลายตารางที่มันเหมือนๆกัน" นี่มันเป็นพวกฟอร์เอจคีย์ในด้านฐานข้อมูลมะใช่หรอครับ??? ซึ่งถ้าเป็นฟอเอจจริงๆ ใส่ช่องเดียวมันก้อเปลี่ยนไปทุกๆตารางอยู่แล้วนี่นา....

Re: ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

โดย miwawaa » 16/11/2009 12:08 pm

อ่า......คิดว่าพอนึกออกบ้างหล่ะ
ขอบคุณนะคะ ขอไปลองทำดูก่อน :biggrin:

Re: ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

โดย mindphp » 16/11/2009 12:01 pm

เขียน insert ลงตารางอื่นๆ ก็เหมือนตารางแรกครับ
อยากเอาข้อมูลอะไรจากตารางแลกก็ query ขึ้นมา แล้ว insert เข้าไปอีกตารางก็ได้
ลองค้นดูกระทู้เก่าๆ มีแนะนำไว้หลายกระทู้

ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้

โดย miwawaa » 16/11/2009 9:53 am

สวีดัสสสคร๊าาา :arrow: มีคัยพอจะรู้ช่วยอธิบายหนูหน่อยนะ
ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้
คือสมมุติว่าหนูมีดาต้าเบสชื่อ A แล้วในดาต้าเบส A เนี๊ยอ่ามันมาอยู่ 5 ตาราง
ต้องการให้ insert ข้อมูลจากฟอร์มเดียว เช่น insert ลง ตาราง 1 โดยที่ข้อมูลบางส่วนที่ insert
ลงตารางที่ 1 ไปจัดเก็บ ในตารางที่ 3 และ 4 ด้วย เช่นข้อมูล ID ที่มีอยู่ในหลายตารางที่มันเหมือนๆกัน
หนูอธิบายงงไปหรือป่าว

ตอนนี้หนูทำฟอร์ม ทำpage PHP เรียบร้อยแล้ว สามารถ insert ข้อมูลลง datsdase ได้แล้ว :biggrin:
แต่ที่ทำไม่ได้ และไม่เข้าใจคือ ทำไงให้ insert ข้อมูลจาก form เดียวไปลง 2 ตารางในดาต้าเบสได้ :?:

รบกวนผู้รู้ช่วยตอบหน่อยนะคะ

:baa: :baa: :baa: :baa: :baa:

ข้างบน