 |
บันทึกลงดาต้าเบส2เทเบิ้ล สมมติเรามี ตาราง 2 ตารางตารางแรกมี ฟิลด์ id, name และ address ตารางที่ 2 |
|
 |
|
|
 |
 |
|
เหมือนกับเราเขียน add ปกติอะครับ โดยการใช้ การเขียน add สองครั้งก็ได้นะครับ โดยให้เขียน add table
แรกไป ครับ คือ
$SQL="INSERT INTO Tb1 (a,b,c) value ('$a','$b','$c')";
อีกอันนึงก็เขียนเหมือนกันครับ เพียงแค่เปลี่ยนชื่อ Tb1 เป็น Tb2 ประมาณนี้ครับ
|
 |
 |
 |
 |
Date :
2010-05-01 15:40:35 |
By :
SOUL |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เขียนแบบนั้นแล้วถ้าเราเรียกตัวแปร id ของตาราง2มาแสดงมันจะเป็นตัวเดียวกันตารางแรกเลยหรอคะ
|
 |
 |
 |
 |
Date :
2010-05-01 17:46:52 |
By :
SG14 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$dbcon = mysql_connect(xxxxxxxxxxxxxxxxxxxxx); // อะไรก็ว่าไป
$result = mysql_query("insert into table1 (name,address) values ('name', 'address');", $dbcon); // id เป็น auto increment
$last_id = mysql_insert_id($dbcon);
mysql_query("insert into table1 (id, tel, fax) values ('tel', 'fax');", $dbcon); // id ไม่เป็น auto increment
แบบนี้หรือเปล่าที่ถาม
|
 |
 |
 |
 |
Date :
2010-05-01 18:07:36 |
By :
plakrim |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แบบนั้นเลยคะ id ตารางที่2ไม่ auto
แต่จะเอาid ตารางที่2มาแสดงในช่องอินพุต
|
 |
 |
 |
 |
Date :
2010-05-01 18:15:32 |
By :
SG14 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ก็ id 1 กับ 2 มันก็อันเดียวกัน เพราะเดาว่าน่าจะใช้ link กันเวลา join table
|
 |
 |
 |
 |
Date :
2010-05-01 18:26:19 |
By :
plakrim |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือมันไม่ใช่ลิงค์อะคะ
แบบหน้า a.php มีช่องอินพุตช่องแรกคือ id ที่ดึงมาจาก db เป็น auto increment
พอกด save ในหน้านี้มันจะนำข้อมูลลงdb แล้วมันจะรันไปหน้า b.php
ซึ่งในหน้า b.php มันก็จะมีอินพุตช่องแรก คือ id ที่เป็นตัวเลขเดียวกับ หน้า a.php อะคะ
อยากทราบว่า อินพุตช่องแรกที่เป็น id ในหน้า b.php เราจะดึงมาได้อย่างไร
|
 |
 |
 |
 |
Date :
2010-05-01 18:32:04 |
By :
SG14 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
save เสร็จส่ง mysql_insert_id() ไปกับ url
header("Location:b.php?id=".mysql_insert_id());
รับ id ไปบันทึกหน้า b.php ตอน save
พอจะเข้าใจไหมครับ
|
 |
 |
 |
 |
Date :
2010-05-01 18:41:58 |
By :
plakrim |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ในหน้า save ของ a.php ใช่ไหมคะ
savea.php
Code (PHP)
echo"<br /><center><b>บันทึกเรียบร้อยแล้ว</b></center>";
echo"<meta http-equiv='refresh' content='3; url=b.php' />";
แล้วเอา header("Location:b.php?id=".mysql_insert_id());ไปไว้ตรงไหนอ่ะคะ
|
 |
 |
 |
 |
Date :
2010-05-01 19:02:17 |
By :
SG14 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$result = mysql_query("insert into table1 (name,address) values ('name', 'address');", $dbcon); // id เป็น auto increment
$last_id = mysql_insert_id($dbcon);
echo"<br /><center><b>บันทึกเรียบร้อยแล้ว</b></center>";
echo"<meta http-equiv='refresh' content='3; url=b.php?id=" . $last_id . "' />";
|
 |
 |
 |
 |
Date :
2010-05-01 20:21:52 |
By :
plakrim |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
$dbcon คือ ตัวแปรที่เก็บตัวที่ติดต่อกับดาต้าเบสใช่ไหมคะ
แบบนี้เราก็จะสามารถเรียก idในหน้าของ b.php โดยใช้ <?=$id ?>ในช่องอินพุต ได้เลยใช่ไหมหรือต้องเรียกอะไรก่อน
แนะนำทีนะคะ
|
 |
 |
 |
 |
Date :
2010-05-01 20:59:50 |
By :
SG14 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
$sqlu=" INSERT INTO table1 VALUES('','name','address')";// เพิ่มลงไปก่อน
$resultu=mysql_db_query($dbname,$sqlu);
$sqlza="select * from table1 order by id DESC";// หาล่าสุดออกมาก่อน แล้ว เอาid มาใช้
$resultza=mysql_db_query($dbname,$sqlza);
$rsza=mysql_fetch_array($resultza);
$ids=$rsza[id];
$sqlu=" INSERT INTO table2 VALUES('$ids','tel','fax')";// เพิ่มลงไป
$resultu=mysql_db_query($dbname,$sqlu);
///////////////////////////////////////////////////////////
แบบ2
//////////////////////////////////////////////////////////
$sql=" INSERT INTO table1 VALUES('','name','address')";// เพิ่มลงไปก่อน
$result=mysql_db_query($dbname,$sql);
$sql2=" INSERT INTO table2 VALUES('','tel','fax')";// เพิ่มลงไปอีกที
$result2=mysql_db_query($dbname,$sql2);
มันก็ตรงกันและ แบบไม่ปวดหัวครับ มักง่ายๆ -*-
|
 |
 |
 |
 |
Date :
2010-05-01 22:38:31 |
By :
theteza02 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|