ช่วยผมหน่อยนะครับ ขอโค้ดที่เพิ่มข้อมูลเข้าตารางหลักที่มี FK โดยดึงเอา id จาก PK อีกตารางมาใส่ FK ด้วยอ่ะคับ
นี่โค้ดครับ รบกวนช่วยผมด้วยนะครับผมทำโปรเจ็คฝึกงานอยู่
Code (PHP)
<?php
$bs_id = $_POST['bs_id'];
$bs_company = $_POST['bs_company'];
$bs_typeb = $_POST['bs_typeb'];
$bs_sex = $_POST['bs_sex'];
$bs_name = $_POST['bs_name'];
$bs_surname = $_POST['bs_surname'];
$bs_address = $_POST['bs_address'];
$bs_address2 = $_POST['bs_address2'];
$bs_city = $_POST['bs_city'];
$bs_zipcode = $_POST['bs_zipcode'];
$bs_tel = $_POST['bs_tel'];
$bs_email = $_POST['bs_email'];
$bs_pfrom = $_POST['bs_pfrom'];
$pro_id = $_POST['pro_id'];
$pro_sn = $_POST['pro_sn'];
$pro_name = $_POST['pro_name'];
$bill_id = $_POST['bill_id'];
$bill_bs_id = $_POST['bill_bs_id'];
$bill_pro_id = $_POST['bill_pro_id'];
$bill_date = $_POST['bill_date'];
$conn = mysql_connect("localhost", "root", "1234")
or die("ERR: Connection");
// connect to database
$db = mysql_select_db("bs", $conn)or die("ERR: Database");
mysql_query("set character_set_results = utf8") or die(mysql_error());
mysql_query("set names utf8") or die(mysql_error());
// create mysql query
// Insert a row of information into the table "casino_tbl"
$sql1 = "insert into bill (bill_id,bill_date,bill_bs_id,bill_pro_id)
values('','".$bill_date."','".$bill_bs_id."','".$bill_pro_id."')";
$result1 = mysql_query($sql1) or die($sql1);
$sql2 = "insert into program (pro_id,pro_sn,pro1)
values('','".$pro_sn."','".$pro1."')";
$result2 = mysql_query($sql2) or die($sql2);
$sql3 = "insert into member(bs_id,bs_company,bs_typeb,bs_sex,bs_name,bs_surname ,bs_address,bs_address2,bs_city,bs_zipcode,bs_tel,bs_email,bs_pfrom)
values('','".$bs_company."','".$bs_typeb."','".$bs_sex."' ,'".$bs_name."','".$bs_surname."','".$bs_address."','".$bs_address2."' ,'".$bs_city."','".$bs_zipcode."','".$bs_tel."','".$bs_email."','".$bs_pfrom."')";
$result3 = mysql_query($sql3) or die($sql3);
echo ("เพิ่มข้อมูลสำเร็จ");
?>
Tag : PHP
Date :
2013-01-08 10:47:25
By :
th3tee
View :
1748
Reply :
11
หลังจากที่ Insert ตัว Statement แรกเสร็จให้ใช้คำสั่ง mysql_insert_id(); เอาไปใช้ครับ
Code (PHP)
$id = mysql_insert_id();
อันนี้ในกรณีที่เป็น Auto Increment ส่วนถ้าเป็นตัวเลขอื่น ๆ อาจจะใช้การ SELECT MAX ครับ
Date :
2013-01-08 11:07:07
By :
mr.win
Code
$sql1 = "insert into bill (bill_id,bill_date,bill_bs_id,bill_pro_id)
values('','".$bill_date."','".$bill_bs_id."','".$bill_pro_id."')";
$result1 = mysql_query($sql1) or die($sql1);
$id = mysql_insert_id();
$sql2 = "insert into program (pro_id,pro_sn,pro1)
values('','".$pro_sn."','".$pro1."')";
$result2 = mysql_query($sql2) or die($sql2);
เอา $id ไปใช้ได้เลยครับ
Date :
2013-01-08 11:18:50
By :
mr.win
ครับผม คือตอนนี้ bill_bs_id,bill_pro_id มันเป็น0ตลอดเลยอ่ะครับมันไม่อัพ ผมต้องเขียนโค้ดอะไรเพื่อที่เวลา
เพิ่มข้อมูล bs_id,pro_id และมันจะไปเพิ่ม bill_bs_id,bill_pro_id ที่อยู่ในอีกตารางได้ครับ รบกวนอีกทีนะครับ
Date :
2013-01-08 11:23:17
By :
th3tee
Code (PHP)
$sql1 = "insert into program (pro_id,pro_sn,pro1)
values('','".$pro_sn."','".$pro1."')";
$result1 = mysql_query($sql1) or die($sql1);
$sql2 = "insert into member(bs_id,bs_company,bs_typeb,bs_sex,bs_name,bs_surname ,bs_address,bs_address2,bs_city,bs_zipcode,bs_tel,bs_email,bs_pfrom)
values('','".$bs_company."','".$bs_typeb."','".$bs_sex."' ,'".$bs_name."','".$bs_surname."','".$bs_address."','".$bs_address2."' ,'".$bs_city."','".$bs_zipcode."','".$bs_tel."','".$bs_email."','".$bs_pfrom."')";
$result2 = mysql_query($sql2) or die($sql2);
$sql3 = "insert into bill (bill_id,bill_date,bill_bs_id,bill_pro_id)
values('','".$bill_date."','".$bill_bs_id."','".$bill_pro_id."')";
$result3 = mysql_query($sql3) or die($sql3);
echo ("เพิ่มข้อมูลสำเร็จ");
มันต้องเรียงแบบนี้หรือเปล่าครับ
ประวัติการแก้ไข 2013-01-08 12:08:24
Date :
2013-01-08 12:05:43
By :
พงศ์พิชาญ
ไม่รู้นะผม งง ของผมเองเปล่านะ จากที่ผมเห็น คุณไม่ได้ใส่ค่าอะไรลงไปใน bill_id ถ้าคุณทำ้ช่นนั้น มันก็จะกำหมดค่าให้เป็น 0 อยู่แล้ว
แล้วถ้าในดาตาเบสกำหมดให้เป็น Auto Increment มันก็รันเองให้อัตโนมัติ bill_id น่าจะเป็น PK นะ ที่นี้เมื่อคุน Insert ข้อมูลเข้าไปแล้วเนี้ย เห็นว่าจะเอา ID ของ bill_id มาใช้ในอีกตารคางหรือเปล่า ถ้าใช้ ก็ให้คุณไปเรียกตารางที่เพิ่ง Insert เข้าไปขึ้นมา จากนั้น Select เอาค่า Id มาใส่ในอีกตารางหนึ่ง ก็น่าจะใช้ได้ แล้วนะ
insrt id จากนั้น select เพื่อเอาค่า id นั้นขึ้นมา จากนั้นก็เอาไปใส่อีกตารางนึง เพื่อใช้อ้างอิง เพื่อเรียกข้อมูลขึ้นมา
Date :
2013-01-08 13:48:41
By :
yuyu7878
ตอบความคิดเห็นที่ : 7 เขียนโดย : yuyu7878 เมื่อวันที่ 2013-01-08 13:48:41
รายละเอียดของการตอบ ::
ครับ
bill_id = Pk
bs_id = Pk
pro_id = Pk
นี่ตารางหลักครับผม
bill_id
bill_date
bill_bs_id
bill_pro_id
คือผมอยากให้เวลาเพิ่มข้อมูลเข้าไป
bs_id = bill_bs_id
pro_id = bill_pro_id
ประมานนี้อ่ะครับ ช่วยทีนะครับค้างตรงนี้มาเป็นอาทิตย์แล้วครับ
Date :
2013-01-08 14:05:49
By :
th3tee
คุณ Th3tee ครับ อย่างที่ บอกนะครับ
ตารางหลัก กับอีกตารางหนึ่ง ไม่จำเป็นจะต้องไปพร้อมกัน มันไปเป็น step ครับ
เริ่ม แรก
bill_id = Pk
bs_id = Pk
pro_id = Pk
insert ได้ไหม ถ้า คุณ Th3tee insert ได้
step แรกแล้วนะ ต่อไำป step ที่สอง
select
bill_id = Pk
bs_id = Pk
pro_id = Pk
ออกมาครับ
สมมุติข้อมูลที่เพิ่มเข้าไปเมื่อกี้นี้ คือ
bill_id = 01
bs_id = 01
pro_id = 01
เมื่อ ได้ข้อมูลมาแล้ว จากนนั้น ไป step ที่ 3 insert
table อีกอันนึงมันจะมี 2 ฟิวนี้ใช่ไหม
bill_bs_id
bill_pro_id
ก็ให้ insert ข้อมูลที่ select มาใส่เข้าไปดิ ใน step ที่3 อ่ะ พอมาภาพออกป่ะ
Date :
2013-01-08 14:37:30
By :
yuyu7878
เงียบเลย T_T
Date :
2013-01-09 10:11:32
By :
th3tee
Load balance : Server 00