|
|
|
#....ถามเรื่องการที่INSERT 2ตาราง ในหน้าเดียวกัน ช่วยหน่อยได้ไหมค่ะ....# |
|
|
|
|
|
|
|
ลองดูแล้วค่ะ อย่างไงก็งง
จะมีตาราง2ตาราง
1.itemaccount
2.dateaccount
แก้ไม่ได้อ่า
|
|
|
|
|
Date :
2010-09-17 10:47:16 |
By :
ด้อยcom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอดี 2ตารางนี้จะมีPK เหมือนกันอ่าค่ะ คือ nolist
คือ แสดงว่า เวลาป้อนข้อมูลลงไปจะใส่แค่ค่าเดียว
แต่มันจะลง 2 ตารางอ่า มีโอกาสทำได้ไหมค่ะ เพราะว่า.........มันมีPKอันเดียวกันอ่าค่ะ
|
|
|
|
|
Date :
2010-09-17 11:06:05 |
By :
ด้อยcom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
table แรกเป็น auto_increment หรือเปล่าครับ
|
|
|
|
|
Date :
2010-09-17 11:55:32 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ใช่ค่ะ เป็นการป้อนข้อมูลลงไปค่ะ
.
.
.
เวลาที่ป้อนข้อมลูลงไป ใส่nolist','numcount','list','Dr','Cr' มันจะลงไปฐานข้อมูล ตาราง itemaccount
แต่เวลาที่ป้อนnolist นั้นไปใส่ มันก็จะใส่อีกตารางหนึ่ง ที่ตารางdateaccoutด้วย
พอดีฐานข้อมูลใช้appservค่ะ เวลาเชื่อมต่อข้อมูลจะได้ไม่เป็นปัญหาค่ะ แต่ปัญหาคือใส่ข้อมูลพร้อมกันแล้วแยกเป็นสองตารางไม่ได้ค่ะ
อ่านหนังสือแล้วก็ยังไม่เข้าใจค่ะ
หรือว่ามันจะทำไม่ได้ค่ะ เป็นปัญหาอยู่เลย
|
|
|
|
|
Date :
2010-09-17 12:50:18 |
By :
ด้อยcom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โจทย์ข้อนี้ยากตรงตั้งคำถามครับ เข้าใจว่าถามอย่างนี้
ต้องการ insert ข้อมูล ลง ใน 2ตาราง คือตาราง itemaccount และ ตาราง dateaccout
โดยมี ฟิลด์ nolist อยู่ในทั้งสองตรางนั้น และมีค่าเดียวกัน จะทำได้อย่างไร
ให้ใช้ 2 คำสั่ง คำสั่งแรก insert ลง ตาราง itemaccount และคำสั่งที่สอง ลง ตารางdateaccout โดยมีค่าของ ฟิลด์ nolist ในสองตารางนั้นเป็นค่าเดียวกัน
คำสั่งแรก
$sql = "insert into itemaccount values('$nolist','$numcount','$list','$Dr','$Cr') ";
// ที่จริงควรระบุชื่อฟิลด์ด้วย ถ้าเขียนคำสั่งแค่นี้ อาจจะหมายว่า ฟิลด์ ที่เก็บ nolist เป็นฟิลด์ที่1 ฟิลด์ที่สองเก็บ numcount' ฟิลด์ที่สามเก็บlist ไปเรื่อยๆ นะครับ ถ้าไม่เป็นไปตามละดับนั้นๆ จะเกิดความผิดพลาดได้
จากนั้นสั่งให้runคำสั่งแรก
$result = mysql_query($sql);
ตรงนี้ อาจจะต้องเช็คด้วยว่ามันรันได้เรียบร้อยหรือเปล่า ถ้า '$nolist' มันเป็น primary key ต้องแน่ใจว่ามันไม่ซ้ำกับข้อมูลที่มีอยู่แล้วในตารางข้อมูลนะครับ เพราะถ้ามันซ้ำจะไม่สามารถ insert ได้
จากนั้นสร้างคำสั่งที่สอง
$sql2 = "insert into dateaccount values('$nolist',.........) ";
อันนี้ที่จริงควรระบุชื่อฟิลด์ เช่นกัน จะเห็นว่าเราเอา '$nolist', มาใส่ทั้งสองตารางนะครับ ถ้ามันเป็น primary key ต้องแน่ใจว่ามันไม่ซ้ำกับข้อมูลที่มีอยู่แล้วในตารางที่เราจะใส่ลงนะครับ เพราะถ้ามันซ้ำจะไม่สามารถ insert ได้
แล้วสั่งให้รันคำสั่งที่สอง
$result2 = mysql_query($sql2);
ตรงนี้เช่นกันควรตรวจดูว่ามันรันได้สำเร็จ
การรับค่า nolist ซึ่งเป็น primary key จากแบบฟอร์มที่ผู้ใช้กรอกมานั้น ไม่น่าจะเหมาะสม เพราะจะเกิดการซ้ำกับข้อมูลที่มีอยู่แล้วได้ง่ายมาก ซึ่งจะทำให้การ insert ไม่สำเร็จ ได้ง่ายมากเช่นเดียวกัน
|
|
|
|
|
Date :
2010-09-17 18:19:29 |
By :
สกล |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แสดงว่าต้องตัดใจใช่ไหมค่ะ....เพราะว่าคิดอยู่ว่ามันจะยากไปหรือเปล่าที่ทำอย่างนี้
ขอบคุณค่ะจะพยายามลองดู ถ้าไม่ได้ก็คงต้องตัดใจค่ะ
|
|
|
|
|
Date :
2010-09-17 21:50:02 |
By :
ด้อยcom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ต้องตัดใจครับ ไม่ใ่เรื่องยากด้วย เราทำอย่างนี้กันทุกวัน เป็นประจำเลย
ที่จริงมันง่ายมากๆเลย ศึกษาเพียงเรื่องเดียวคือ เรื่องคำสั่ง sql insert ครับ ลองศึกษาดู เข้าใจแล้วจะง่ายมาก
เขียนเพียงสองคำสั่งเท่านั้น ถ้าเพียงแค่นี้ยาก ต่อไปคงทำอะไรไม่สำเร็จสักอย่าง
อย่ายอมแพ้สิครับ
|
|
|
|
|
Date :
2010-09-18 19:08:44 |
By :
สกล |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|