|
|
|
งงกับคำสั่ง SQL ครับ อาจารย์ 1 คนสามารถมีลูกศิษได้หลายคนพอเข้าสู่ระบบอาจารย์จะเห็นรายชื่อลูกศิษได้เลย |
|
|
|
|
|
|
|
Table Student ก็ต้องมี Id_Teacher เพื่อบอกว่ามีใครเป็นอาจารย์
แล้วคำสั่ง SQL ก็ไป where Teacher.Id_Teacher = Student.Id_Teacher ครับ
|
|
|
|
|
Date :
2011-03-15 13:33:33 |
By :
3rds |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ออกแบบมาไม่ถูกต้องมันก็ได้แค่คนเดียวแหละครับ
Teachers : Id_Teacher ,name_Teacher
Students : ID_Student name_Student
Classes : Id_Teacher,ID_Student
|
|
|
|
|
Date :
2011-03-15 13:35:06 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก่อนอื่นต้องเพิ่มฟิลด์ใน table นักเรียนก่อนหนึ่งฟิลด์เพื่อที่จะสามารถอ้างถึงเทเบิลอาจารย์ได้ (FK) ในที่นี้สมมติเป็น teach_id
เสร็จแล้วก็ใช้คำสั่งแสดงอาจารย์
sql= "select * from อาจารย์";
rs =......
row=............
เสร็จแล้วก็เลือกเทเบิลนักเรียนของอาจารย์
sqll = "select * from นักเรียน where teach_id ='".$row['id']."' ";//$row['id'] คือฟิลด์ที่อ้างถึงอาจารย์ อาจจะเป็นชื่อหรือไอดีอาจารย์ก็ได้ครับ
สรุปแล้วการเชื่อมตารางเข้าหากันต้องสร้าง fk ไว้ให้กับตารางด้วยนะครับ ที่ผมเขียนให้ดูเป็นตัวอย่างครับ สามารถเอาไปปรับใช้ได้
|
|
|
|
|
Date :
2011-03-15 13:36:03 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ต้องออกแบบฐานข้อมูลให้สัมพันธ์กันครับ เช่นจะบอกว่า อาจารย์ A สอนนักเรียน ก , ข , ค อาจารย์ B สอนนักเรียน ง ,จ ก็จะเป็น
student (ตารางนักเรียน)
id | Name | id_t |
0001 | ก | 001 |
0002 | ข | 001 |
0003 | ค | 001 |
0004 | ง | 002 |
0005 | จ | 002 |
teacher (ตารางอาจารย์)
id_t | name_t |
001 | A |
002 | B |
เวลา select ก็ต้องดูว่าจะ select เอาข้อมูลอะไรบ้าง เช่น
Select student.*, teacher.name_t from studen,teacher where student.id_t=teacher.id_t
ก็จะได้ข้อมูลดังนี้
id | Name | name_t |
0001 | ก | A |
0002 | ข | A |
0003 | ค | A |
0004 | ง | B |
0005 | จ | B |
หรือ
Select teacher.*, student.name_t from teacher,student where teacher.id_t = student.id_t
ก็จะได้ข้อมูลดังนี้
id_t | Name_t | name |
001 | A | ก |
| | ข |
| | ค |
002 | B | ง |
| | จ |
ประมาณนี้ครับ ถ้าผิดพลาดประการใด เซียนทั้งหลายช่วยแก้ไขด้วยละกันครับอิอิ ไม่ได้เก่งแต่ก็อยากช่วยเหลือครับ 555+
|
|
|
|
|
Date :
2011-03-15 13:47:22 |
By :
Morphius |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณทุกท่านครับ ได้เเล้ว ครับ ^^ กว่าจะได้ ดูที่พี่ๆโพสเเล้วผมคิดตามไม่ค่อยทันต้องวาดรูปประกอบ เเล้วลองลากเส้นไม่งั้น งงมากฮ่าๆๆๆ
|
|
|
|
|
Date :
2011-03-15 14:31:21 |
By :
Kotakin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|