Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > เกี่ยวกับการ query FK สองค่า ใน 1 แถวของตารางหลักครับ



 

เกี่ยวกับการ query FK สองค่า ใน 1 แถวของตารางหลักครับ

 



Topic : 079014

Guest




มีตาราง และมีฟิลด์ข้อมูล

ตาราง match
มีฟิลด์ mid_id, team_1, team_2, time,......

ตาราง team
มีฟิลด์ team_id, match_id, team_name

team_1 และ team_2 เป็น FK ของ team_id ครับ



ที่ผมทำได้ คือ query match แล้วลูป query เอา team_name มาแสดงตามลูปครับ

query match {

query team where team_id=team_1
query team where team_id=team_2

}

แบบนี้อ่ะครับ


แต่จะ query ตาราง match ยังไงให้ team_id ออกมาตาม team_1 กับ team_2 ครับ
คือให้มันแสดงชื่อทีมทั้งสองเลยครับในการ query match ในรอบเดียวเลยครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-05-27 20:38:21 By : Pine View : 952 Reply : 5
 

 

No. 1



โพสกระทู้ ( 98 )
บทความ ( 0 )



สถานะออฟไลน์


ลองแก้ Field ของ Match จาก team_1 , team_2 แล้วรวมเป็น team_id แล้วใส่ค่าเป็น 1 , 2 น่าจะดีนะคับ

แล้วใช้ JOIN SQL มาช่วย

-------------------

Table " match "
- mid_id
- team_id
- time

Table " team "
- team_id
- match_id
- team_name

Code (PHP)
$strSQL = "SELECT * FROM match AS m, team AS t WHERE m.team_id = t.team_id";
$result = mysql_query($strSQL);
while($row = mysql_fetch_array($result))
{

echo 'Team ID : '.$row['team_id'].'<br />';
echo 'Team Name : '.$row['team_name'].'<br />';
echo 'Match ID : '.$row['match_id'].'<br />';
echo 'Time : '.$row['time'].'<br />';

}





ลองดูครับยังไม่ได้ทดสอบ ถ้าผิดพลาดก็ขออภัยด้วยครับ
ยังไงลองเอาไปเป็นแนวทางดู หรือ ท่านผู้รู้อื่นๆมาชี้แจ้งอีกที ^^








ประวัติการแก้ไข
2012-05-28 00:52:53
2012-05-28 00:53:15
2012-05-28 00:53:47
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-28 00:51:06 By : blackedition
 


 

No. 2

Guest


คือค่าในตาราง team มันอยู่คนละแถวอ่ะครับ

match
id...................team_1.....................team_2
1...................team_id............... .....team_id *****
2...................team_id............... .....team_id
3...................team_id............... .....team_id
n...................team_id............... .....team_id

team
team_id..............mid................name
1...........................1....................ชื่อทีมไอดี1
2...........................2....................ชื่อทีมไอดี2
3...........................3....................ชื่อทีมไอดี3
4...........................4....................ชื่อทีมไอดี4


คือเรียกชื่อทีมมาแสดงว่าทีมไหนกับทีมไหนที่อยู่แมตช์เดียวกันครับ (หรือแข่งกันน่ะครับ)
โดยใช้ค่าที่อยู่ใน team_1 กับ team_2 เป็นค่า fk เปรียบเทียบกับตาราง team ครับ

ตรง ***** ค่าอาจจะเป็น
match ที่ 1 ค่า...................1..................3

เพื่อจะเรียกชื่อทีมที่ค่า team_id 1 และ 3 ตรงกับตาราง team ครับผม


ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-28 02:31:17 By : Pine
 

 

No. 3

Guest


เย้ย!! ตรง

team_id..............mid................name
1...........................1....................ชื่อทีมไอดี1
2...........................2....................ชื่อทีมไอดี2
3...........................3....................ชื่อทีมไอดี3
4...........................4....................ชื่อทีมไอดี4

ผมผิดครับ ไม่มี mid ครับ ....สมองเบลอไปหน่อย แหะๆๆ

เป็น
team_id.............................name
1.............................................ชื่อทีมไอดี1
2.............................................ชื่อทีมไอดี2
3.............................................ชื่อทีมไอดี3
4.............................................ชื่อทีมไอดี4

เฉยๆ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-28 02:33:31 By : Pine
 


 

No. 4

Guest


ตรงที่ยกตัวอย่างผิดทั้งสองจุด จริงๆ มันเป็นค่า league ครับ
ว่าทีมนี้อยู่ league ไหนครับผม แฮ่ๆๆๆ

เบลอไปหน่อยครับ ขอโทษกับตัวอย่างครับ

แต่คำถามหลักคือ จะเรียกคิวรี่ยังไงให้เลือก team_id ทั้งสอง ในตาราง team
ที่ตรงกับ team_1 กับ team_2 ในตาราง match ครับ

ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-28 02:38:15 By : Pine
 


 

No. 5

Guest


ตอนนี้เจอแนวทางแล้วครับ ผมใช้ IN (team1, team2)

แต่เอาชื่อทีมออกมาไม่ได้ ฮ่าๆๆๆๆ

ไม่ทราบว่า ต้องเรียกยังไงครับ


ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-28 04:16:48 By : Pine
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เกี่ยวกับการ query FK สองค่า ใน 1 แถวของตารางหลักครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่