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,027

HOME > PHP > PHP Forum > ช่วยแนะนำผมทีเถอะนะครับ เกี่ยวกับการ select ข้อมูล(อีกแล้ว)



 

ช่วยแนะนำผมทีเถอะนะครับ เกี่ยวกับการ select ข้อมูล(อีกแล้ว)

 



Topic : 027655



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



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




พยามควานหาวิธี join ไม่หลับไม่นอน จนทำได้แล้ว แต่ยังติดที่ มัน select ออกมาไม่หมดครับ

เช่น ข้อมูลใน tb_person_data ที่ฟิลด์ person_id เร็คคอร์ดที่มีค่าเท่ากัน มันออกมาแต่อันล่าสุด ออกแค่เร็คคอ์ดเดียว

ทำไงมันถึงจะออกมาหมดครับ ไครรู้ช่วยบอกทีครับ จักเป้นพระคุณอย่างสูง (เจ้านายรอเชือดอยู่ครับ)

ขอบคุณครับ

Code (PHP)
<?php
$sql_dis="Select * from tb_members a 
		left join tb_project_reports b on (a.tb_member_id = b.tb_member_id)
         left join tb_person_data c on (b.pjt_id = c.pjt_id) AND (b.tb_member_id = c.tb_member_id)
   		left join tb_work_today d on (b.pjt_id= d.pjt_id) AND (b.tb_member_id = d.tb_member_id)
		left join tb_work_tomorrow e on (b.pjt_id = e.pjt_id) AND (b.tb_member_id = e.tb_member_id)
        where a.tb_member_id  ='".$tb_member_id."' order by b.pjt_id desc";

?>




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-05-24 18:32:24 By : losoman26 View : 973 Reply : 8
 

 

No. 1



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



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

Code (PHP)
<?

$sql = "
select * from tb_members a
inner join tb_project_reports b on a.tb_member_id = b.tb_member_id
inner join tb_person_data c on b.pjt_id = c.pjt_id
inner join tb_work_today d  on a.tb_member_id = d.tb_member_id
inner join tb_work_tomorrow e on a.tb_member_id = e.tb_member_id 
where a.tb_member_id = '".$tb_member_id."' order by b.bjt_id desc
";
?>



เอ้าลองดูนะครับ






Date : 2009-05-24 18:43:48 By : dr.website
 


 

No. 2



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



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


ยังไม่ได้เลยครับ

ออกมาเร็คคอร์ดเดียวเหมือนเดิมครับ
Date : 2009-05-24 18:51:18 By : losoman26
 

 

No. 3



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



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


ทำไม echo ออกมามันแบ่งเป็นสองชุดครับ ทั้งที่ข้อมูลก้มีแค่เร็คคอร์ดเดียว

Quote:
1 : 2009-05-24
ฤทธิกร บัวคลี่
Korn
งานสวน

2 : 2009-05-24
ฤทธิกร บัวคลี่
Korn
งานสวน


Code (PHP)
<?php 
session_start();
$path="";
include ($path.'include/config.php');
include ($path.'include/permission_denied_member.php');

$sql =  "
SELECT * 
FROM tb_members a
INNER JOIN tb_project_reports b ON a.tb_member_id = b.tb_member_id
INNER JOIN tb_person_data c ON a.tb_member_id = c.tb_member_id
INNER JOIN tb_work_today d ON a.tb_member_id = d.tb_member_id
INNER JOIN tb_work_tomorrow e ON a.tb_member_id = e.tb_member_id
WHERE a.tb_member_id = 9
";				  
$result = mysql_query($sql);
$number = 1;
while($row = mysql_fetch_array($result)){
echo $number." : ";
echo $row["pjt_date"]."<br>";
echo $row["tb_member_name"]."<br>";
echo $row["tb_member_nickname"]."<br>";
echo $row["today_type"]."<br>";
echo "<br>";
$number ++;
}
?>

Date : 2009-05-24 21:22:13 By : losoman26
 


 

No. 4



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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


วนลูปสิครับ
Date : 2009-05-24 22:25:52 By : ddsure
 


 

No. 5



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



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


รู้สึกว่าจะมีปัญหาตรงที่จอยนี้แหละครับ ลองคิดดูดีๆ นะครับว่า อะไรที่ต้องจอย ด้วย left join หรือ inner join

ถ้าจะให้แนะนะก็คือ ลองจอยตาราง และคิวรี่ออกมาดูดีๆ ก่อนครับ ว่าข้อมูลที่ได้ออกมาใช่อย่างที่ต้องการหรือเปล่า จะได้มองออกว่าอันไหน ต้อง ใช้ inner join อันไหนต้อง left join
Date : 2009-05-24 23:10:42 By : Ravatna
 


 

No. 6

Guest


ผมลอง join แค่ 2 table ทั้ง inner join และ left join

โดยถ้า join tb_members กับ tb_project_reports ผลลัพธ์ ที่ได้ถูกต้องครับ แต่ถ้า join มากกว่านี้ค่าจะออกมาเป้นชุดๆ

Code (PHP)
<?php
$sql_dis="SELECT * FROM tb_members
Inner Join tb_project_reports ON tb_members.tb_member_id = tb_project_reports.tb_member_id
where tb_members.tb_member_id  ='".$tb_member_id."' order by tb_project_reports.pjt_id desc";

?>



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

แต่ถ้า join สอง table โดย tb_project_reports กับ table อื่นๆที่ไม่ใช่ tb_members ข้อมูลจะออกมาเป็นชุดๆ มันซ้ำกันอ่ะครับ

Code (PHP)
<?php
$sql_dis="Select * from tb_project_reports a
left join tb_person_data b on (a.pjt_id = b.pjt_id)
where a.tb_member_id  ='".$tb_member_id."' order by b.pjt_id desc";
?>



##ข้อมูลออกมาเป็นชุดๆซ้ำกัน ผมหมายถึง
เช่นใน table มีข้อมูลดังนี้ tb_project_reports = กรุงเทพ
tb_person_data =ช่างก่อสร้าง (เร๊คคอร์ด1)
tb_person_data =ช่างไม้(เร๊คคอร์ด2)

ถ้าออกมาเป้นชุดที่ผมว่าจะเป็นแบบนี้
กรุงเทพ ช่างก่อสร้าง
กรุงเทพ ช่างไม้

ที่อยากให้เป็นคือแบบนี้ครับ กรุงเทพ ช่างก่อสร้าง ช่างไม้


เครียดจัด!!!!!!!
Date : 2009-05-24 23:53:07 By : losoman26
 


 

No. 7



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



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


ลืมบอกไปว่า ตารางที่เกี่ยวข้อง มี 5 ตาราง ครับ

tb_members ==> PK คือ tb_member_id
tb_project_reports ==> PK คือ pjt_id , FK คือ tb_member_id

ส่วน 3 ตารางที่เหลือ FK คือ tb_member_id และ pjt_id
tb_person_data
tb_work_today
tb_work_tomorrow

ผมออกแบบตารางผิดไหมครับ

ถ้าผิดจะแก้ไขอย่างไร

ถ้าออกแบบถูกแล้ว จะ select อย่างไรครับ

ทำมาเป็นเดือนแล้วยังไม่ถึงใหนเลยครับ

Date : 2009-05-25 00:18:18 By : losoman26
 


 

No. 8



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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

คุณลอง ง่ายๆ ดีกว่า ลองเอาคิวรี่ ไปยิงบน phpmyadmin เลยคับ สะดวกรวดเร็วกว่า จะมีสีแสดงให้ด้วย

คุณต้องปรับ inner join, left join, right join ตามแต่ความต้องการ
Date : 2009-05-25 00:29:38 By : pjgunner
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยแนะนำผมทีเถอะนะครับ เกี่ยวกับการ select ข้อมูล(อีกแล้ว)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่