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

HOME > PHP > PHP Forum > ดึงข้อมูลจาก สองตาราง คือผมจะทำตารางออกบิล ให้กับลูกค้า โดยมีตารางที่1คือ ข้อมูลการจองห้องพัก



 

ดึงข้อมูลจาก สองตาราง คือผมจะทำตารางออกบิล ให้กับลูกค้า โดยมีตารางที่1คือ ข้อมูลการจองห้องพัก

 



Topic : 035411

Guest




คือผมจะทำตารางออกบิล ให้กับลูกค้า
โดยมีตารางที่1คือ ข้อมูลการจองห้องพัก ชื่อตาราง booking_info
มีคอลัมภ์
booking_id quest_name quest_lastname ...

ตารางที่สอง ชื่อตาราง checkin_info
มีข้อมูลคอลัมภ์
IDการเช็คอิน วันการเช็คอิน วันเช็คเอ้าท์ และ booking_id <--ซึ่งเป็นตัวเลขสัมพันธ์กับตารางด้านบน
ทีนี้ผมจะให้ php select 2 ตารางโดยอ้างถึง booking_id ของตารางที่สองเพื่อไปดึงเอาชื่อ-นามสกุลของตารางที่ 1
มา ผมจะต้องเขียนโค๊ดยังไงครับ
มึนหัว ขอบคุณครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-12-07 17:28:46 By : 3cha View : 2493 Reply : 12
 

 

No. 1



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

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

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


$sql="SELECT * FROM checking_info AS A INNER JOIN booking_info AS B ON(A.booking_id=B.booking_id) WHERE ..........";

ประมาณนี้นะครับ






Date : 2009-12-07 17:58:10 By : yomaster
 


 

No. 2

Guest


ครับ จะลองดูครับ ถ้าไม่ได้จะรบกวนถามอีก ขอบคุณครับ
Date : 2009-12-07 18:17:29 By : 3cha
 

 

No. 3



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

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

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


ลืมบอกไปว่า AS A และ AS B

คือ ทำให้ชื่อ ตาราง มันสั้น ลง จะได้พิมพ์เร็วๆ ครับ ^-^
Date : 2009-12-07 18:21:42 By : yomaster
 


 

No. 4



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



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


ถามต่อนะครับ ไม่ทราบว่าจะดึงข้อมูลออกมายังไง

รวมตารางได้แล้วครับ คือแบบนี้
$result = mysql_query("SELECT * FROM checking_info AS A INNER JOIN room_booking AS B ON (A.booking_id = B.booking_id) where A.booking_id='00041'");

แต่ทีนี้พอจะดึงข้อมูลออกมา มัน error ตรงนี้ครับ
while ($row=mysql_fetch_array($result))
{
...
}
Date : 2009-12-08 08:01:37 By : 3cha
 


 

No. 5



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



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


มัน error ว่ายังไงครับ
ขอแนะนำอีกอย่างนะผมว่าการย่อชื่อ table ด้วย AS มันทำให้สั้นลงก็จริงอยู่แต่ถ้าเกิดคุณมีการเชื่อมตารางมากกว่า 2 ตารางอาจเป็น 3 หรือ 4 หรือมากกว่ากกว่านั้นผมว่าให้ใช้ชื่อเต็มๆเลยจะได้ไม่สับสน อันนี้ความเห็นส่วนตัวนะเพราะเคยเจอมาแล้ว อิๆ
Date : 2009-12-08 08:30:48 By : naskw
 


 

No. 6



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



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


$result = mysql_query("SELECT * FROM checking_info AS A INNER JOIN room_booking AS B ON (A.booking_id = B.booking_id) where booking_id='00042'");
while ($row=mysql_fetch_array($result)) // บรรทัดที่ 89
{

error นี้ครับ

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/HAM/get_bill.php on line 89
Date : 2009-12-08 08:45:42 By : 3cha
 


 

No. 7



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

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

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


มันหา ข้อมูลใน $sql ไม่เจออ่ะ

ลองเปลี่ยนเป็น

$sql="SELECT * FROM checking_info AS A INNER JOIN room_booking AS B ON (A.booking_id = B.booking_id) where A.booking_id='$booking_id' ";
$result=mysql_db_query($dbname,$sql);

หรือไม่ก็ลอง echo $sql ออกมาดูครับ
Date : 2009-12-08 08:48:21 By : yomaster
 


 

No. 8



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



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


ทำได้แล้วครับ แต่ผมใช้วิธีเลือกมาจาก สองตารางแบบนี้ครับ

$booking_id=00123;

$result = mysql_query("SELECT * FROM checkin_info, room_booking WHERE checkin_info.booking_id=room_booking.booking_id AND checkin_info.booking_id=$booking_id ");

while ($row=mysql_fetch_array($result))
{ .....

checkin_info คือตารางที่1
room_booking คือตารางที่2
แล้วใช้ WHERE ... AND เป็นตัวกรองตัวเลือกอีกที
ส่วนคำสั่ง INNER JOIN ผมต้องไปหาว่าผิดตรงไหน
ยังไงก็ ขอบคุณสำหรับทุกคำตอบ
Date : 2009-12-08 10:47:00 By : 3cha
 


 

No. 9

Guest


ลอง นี้นะครับได้เหมือนกัน

JOIN TABLE(PHP)
<?
//อย่าลืมแก้ด้วยตรง rootและmydatabase นะครับ ของใครของมันนะ
$connect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");

//ข้างล่างเป็นการ join table[เอาตารางมาต่อกัน] ครับ ดึงไปใช้เลย
$sql = "SELECT booking_info.* , checkin_info.* FROM booking_info,checkin_info
WHERE booking_info.booking_id = booking_info.checkin_id";
$result=mysql_query($sql) or die ("Error Query [".$sql."]"); 

//จากนั้นก็ สร้างตาราง html เพื่อเป็นหัวข้อของตาราง ทั้ง 2 ตาราง แบบเอาตารางมาต่อกันธรรมา https://www.thaicreate.com/tutorial/sql-join.html<--ดูตารางตัวอย่างก็ได้ครับ หรือ นี้ละครับ การjointable

while($objResult = mysql_fetch_array($result))
{
?>
<tr>
            //table booking_info
    <td><?=$objResult["booking_id"];?></td>
    <td><?=$objResult["quest_name"];?></td>
    <td><?=$objResult["quest_lastname"];?></td>
     .....//จนหมดตาราง booking_info  แล้วต่อด้วยตาราง checkin_info
            //table checkin_info  [ไม่ต้องเอา booking_id ของตาราง checkin_info  มาแสดงอีกก็ได้]
    <td><?=$objResult["colum2"];?></td>
    <td><?=$objResult["colum3"];?></td>
    <td><?=$objResult["colum4"];?></td>
    <td align="center"><a href="หน้าออกบิลล์.php?booking_id=<?=$objResult["booking_id"];?>">link</a></td>
  </tr>
<?
}
?>

ข้างบนเป็นการเรียก 2 ตารางครับ ต่อจากนั้นใช้ "หน้าออกบิลล์.php" สร้างฟอร์มหน้าออกบิล์ให้ลูกค้า แล้วใส่ค่า
$objResult["colum"] ลงไปในฟอร์มตารางที่สร้างโดยไม่ต้อง ใช้คำสั่ง while($objResult = mysql_fetch_array($query)) อีก และถ้าต้องการ ลิ้งไปหน้าถัดไปโดยใช้ booking_idเดิม เป็นตัวระบุตำแหน่งอีก ก็ใช้
"หน้าต่อไป.php?booking_id=<?=$objResult["booking_id"]" ลงไปใน <a href> หรือ action ของ <form>

ปล.ห้ามใช้ภาษาไทยในการตั้งชื่อ หน้า .php . html .ทุกประเภทที่เกี่ยวกับการเขียนโปรแกรม ดังนั้นให้เปลี่ยนด้วยนะครับ
ปล2. การดึงค่าของ mysql มาโชว์อยู่ที่คำสั่ง while($objResult = mysql_fetch_array($query)) แต่หน้าตาแบบฟอร์ม ก็เอา html มาช่วยครับ ถ้างง ไม่เข้าใจ ลองสร้างหน้าที่มีแต่ คำสั่ง connect sever กับ while($objResult = mysql_fetch_array($query))ดูครับ แล้วจะเข้าใจเลยครับ ผมก็หัดใหม่เหมือนกันครับ

ปล3.ถูกใจขอคะแนนด้วยครับ ไม่ได้โพสเพื่อคะแนนผมพอเข้าใจเลยมาตอบให้ แต่ได้ก็ดีใช่ปะละครับ
Date : 2009-12-08 11:01:03 By : taiton
 


 

No. 10



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



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


ลอง นี้นะครับได้เหมือนกัน

JOIN TABLE(PHP)
<?
//อย่าลืมแก้ด้วยตรง rootและmydatabase นะครับ ของใครของมันนะ
$connect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");

//ข้างล่างเป็นการ join table[เอาตารางมาต่อกัน] ครับ ดึงไปใช้เลย
$sql = "SELECT booking_info.* , checkin_info.* FROM booking_info,checkin_info
WHERE booking_info.booking_id = booking_info.checkin_id";
$result=mysql_query($sql) or die ("Error Query [".$sql."]"); 

//จากนั้นก็ สร้างตาราง html เพื่อเป็นหัวข้อของตาราง ทั้ง 2 ตาราง แบบเอาตารางมาต่อกันธรรมา <A href="https://www.thaicreate.com/tutorial/sql-join.html" target=blank>https://www.thaicreate.com/tutorial/sql-join.html</A><--ดูตารางตัวอย่างก็ได้ครับ และ นี้ละครับ การjointable

while($objResult = mysql_fetch_array($result))
{
?>
<tr>
            //table booking_info
    <td><?=$objResult["booking_id"];?></td>
    <td><?=$objResult["quest_name"];?></td>
    <td><?=$objResult["quest_lastname"];?></td>
     .....//จนหมดตาราง booking_info  แล้วต่อด้วยตาราง checkin_info
            //table checkin_info  [ไม่ต้องเอา booking_id ของตาราง checkin_info  มาแสดงอีกก็ได้]
    <td><?=$objResult["colum2"];?></td>
    <td><?=$objResult["colum3"];?></td>
    <td><?=$objResult["colum4"];?></td>
    <td align="center"><a href="หน้าออกบิลล์.php?booking_id=<?=$objResult["booking_id"];?>">link</a></td>
  </tr>
<?
}
?>

ข้างบนเป็นการเรียก 2 ตารางครับ ต่อจากนั้นใช้ "หน้าออกบิลล์.php" สร้างฟอร์มหน้าออกบิล์ให้ลูกค้า แล้วใส่ค่า
$objResult["colum"] ลงไปในฟอร์มตารางที่สร้างโดยไม่ต้อง ใช้คำสั่ง while($objResult = mysql_fetch_array($query)) อีก และถ้าต้องการ ลิ้งไปหน้าถัดไปโดยใช้ booking_idเดิม เป็นตัวระบุตำแหน่งอีก ก็ใช้
"หน้าต่อไป.php?booking_id=<?=$objResult["booking_id"]" ลงไปใน <a href> หรือ action ของ <form>

ปล.ห้ามใช้ภาษาไทยในการตั้งชื่อ หน้า .php . html .ทุกประเภทที่เกี่ยวกับการเขียนโปรแกรม ดังนั้นให้เปลี่ยนด้วยนะครับ
ปล2. การดึงค่าของ mysql มาโชว์อยู่ที่คำสั่ง while($objResult = mysql_fetch_array($query)) แต่หน้าตาแบบฟอร์ม ก็เอา html มาช่วยครับ ถ้างง ไม่เข้าใจ ลองสร้างหน้าที่มีแต่ คำสั่ง connect sever กับ while($objResult = mysql_fetch_array($query))ดูครับ แล้วจะเข้าใจเลยครับ ผมก็หัดใหม่เหมือนกันครับ

ปล3.ถูกใจขอคะแนนด้วยครับ ไม่ได้โพสเพื่อคะแนนผมพอเข้าใจเลยมาตอบให้ แต่ได้ก็ดีใช่ปะละครับ
Date : 2009-12-08 11:04:54 By : taiton
 


 

No. 11



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



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


ใช้ได้เปล่าครับ ผมก็หัดทำเหมือนกันครับ ถ้าได้ก็บอกด้วยนะครับ

มือใหม่เหมือนกันครับ

บอกในนี้ละครับ ผมชอบอ่านในนี้อยู่แล้ว เดี๋ยวเห้นเองอะ
Date : 2009-12-08 14:34:29 By : taiton
 


 

No. 12



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



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


ทำได้แล้วครับ ขอบคุณครับ กดบวกให้แล้วนะ..
Date : 2009-12-08 16:39:23 By : 3cha
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ดึงข้อมูลจาก สองตาราง คือผมจะทำตารางออกบิล ให้กับลูกค้า โดยมีตารางที่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-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่