ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingช่วยดู Mysql Query หน่อยครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยดู Mysql Query หน่อยครับ  (อ่าน 770 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
deknakhon
คนรักเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 166



ดูรายละเอียด เว็บไซต์
« เมื่อ: 20 มีนาคม 2011, 09:25:04 »

SELECT tb_rooms.*,ARRIVE,ARRIVE FROM tb_rooms LEFT JOIN tb_roomassigns ON(tb_rooms.ROOMNO<>tb_roomassigns.ROOMNO)WHERE ARRIVE>='2011-03-26' AND DEPART<='2011-03-27'

ผมการให้แสดงข้อมูล  tb_rooms.ROOM NO ที่ไม่มีข้อมูล  tb_roomassigns.ROOMNO  โดยตรวจจาก วันที่ ถึงวันที่ 
ARRIVE='2011-03-26' AND DEPART='2011-03-27' 

CODE
$sql = "SELECT tb_rooms.*,ARRIVE,ARRIVE FROM tb_rooms ";
$sql .= "LEFT JOIN tb_roomassigns ON(tb_rooms.ROOMNO<>tb_roomassigns.ROOMNO)";
$sql .= "WHERE ARRIVE>='$_POST[ARRIVECHK]' ";   
$sql .= "AND DEPART<='$_POST[DEPARTCHK]' ";

echo $sql;

$result = mysql_db_query($dbname,$sql) or die ( mysql_error()." Cannot Connect to Database ");
$NRow = mysql_num_rows($result);
   while ($rs_roomList=mysql_fetch_array($result)){
echo "<INPUT TYPE=\"checkbox\" NAME=\"roomNO[]\" value=$rs_roomList[ROOMNO]>
$rs_roomList[ROOMNO]
";

}   


ขอบคุณลวงหน้าครับ
« แก้ไขครั้งสุดท้าย: 20 มีนาคม 2011, 09:27:11 โดย deknakhon » บันทึกการเข้า

รับพัฒนาโปรแกรม PHP Mysql
รับออกแบบระบบโปรแกรม
รับวางระบบเครือข่ายคอมพิวเตอร์
Synchronize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 83
ออฟไลน์ ออฟไลน์

กระทู้: 1,231



ดูรายละเอียด
« ตอบ #1 เมื่อ: 20 มีนาคม 2011, 14:41:01 »

select แบบนี้ครับ

SELECT tb_rooms.*,ARRIVE,ARRIVE FROM tb_rooms
LEFT OUTER JOIN tb_roomassigns
ON(tb_rooms.ROOMNO = tb_roomassigns.ROOMNO
WHERE tb_roomassigns.ROOMNO is null and ARRIVE>='2011-03-26' AND DEPART<='2011-03-27'

แล้ว function mysql_db_query เค้าให้เลิกใช้แล้วครับ ต้องใช้ mysql_query แทน

  wanwan017

edit: แก้เพิ่มนิดนึง ลืมคำสั่งไปอีกตัว
« แก้ไขครั้งสุดท้าย: 20 มีนาคม 2011, 14:48:03 โดย Synchronize » บันทึกการเข้า

Moyzier
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 161
ออฟไลน์ ออฟไลน์

กระทู้: 2,212



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 20 มีนาคม 2011, 14:45:45 »

เรียนยังไม่ถึงเลย  แต่เรียนมานิดหน่อย  ปวดหัวมาก วิชา db
บันทึกการเข้า

deknakhon
คนรักเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 166



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 20 มีนาคม 2011, 17:10:26 »

select แบบนี้ครับ

SELECT tb_rooms.*,ARRIVE,ARRIVE FROM tb_rooms
LEFT OUTER JOIN tb_roomassigns
ON(tb_rooms.ROOMNO = tb_roomassigns.ROOMNO
WHERE tb_roomassigns.ROOMNO is null and ARRIVE>='2011-03-26' AND DEPART<='2011-03-27'

แล้ว function mysql_db_query เค้าให้เลิกใช้แล้วครับ ต้องใช้ mysql_query แทน

  wanwan017

edit: แก้เพิ่มนิดนึง ลืมคำสั่งไปอีกตัว

ยังไม่แสดงข้อมูลห้องพักทั้งหมดครับ
ลองแก้ตามที่ท่านบอกมาแล้ว ครับ
ขอบคุณมากครับสำหรับ mysql_db_guery เป็น mysql_query


ใช้ Mysql_Query  มี Error 
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in 

ผมใช้ภาษา PHP & Mysql นะครับ
« แก้ไขครั้งสุดท้าย: 20 มีนาคม 2011, 17:14:27 โดย deknakhon » บันทึกการเข้า

รับพัฒนาโปรแกรม PHP Mysql
รับออกแบบระบบโปรแกรม
รับวางระบบเครือข่ายคอมพิวเตอร์
Synchronize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 83
ออฟไลน์ ออฟไลน์

กระทู้: 1,231



ดูรายละเอียด
« ตอบ #4 เมื่อ: 20 มีนาคม 2011, 17:24:07 »

จะใช้  mysql_query()  ต้อง ใช้  mysql_select_db('ชื่อฐานข้อมูล');  ก่อนครับ ใช้หลังจาก connect ครั้งเดียว

ส่วนเรื่อง sql ผมดูผิดไปนิด ถ้ายังงี้ คงต้องใช้ sub query ซึ่งไม่ค่อยดีเท่าไร เรื่องประสิทธิภาพนะ แบบนี้


SELECT a.*
FROM tb_rooms a
LEFT OUTER JOIN (select ROOMNO from tb_roomassigns where ARRIVE>='2011-03-26' AND DEPART<='2011-03-27') b
ON a.ROOMNO = b.ROOMNO
WHERE b.ROOMNO is null and

  wanwan017
บันทึกการเข้า

deknakhon
คนรักเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 166



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 20 มีนาคม 2011, 17:47:02 »

จะใช้  mysql_query()  ต้อง ใช้  mysql_select_db('ชื่อฐานข้อมูล');  ก่อนครับ ใช้หลังจาก connect ครั้งเดียว

ส่วนเรื่อง sql ผมดูผิดไปนิด ถ้ายังงี้ คงต้องใช้ sub query ซึ่งไม่ค่อยดีเท่าไร เรื่องประสิทธิภาพนะ แบบนี้


SELECT a.*
FROM tb_rooms a
LEFT OUTER JOIN (select ROOMNO from tb_roomassigns where ARRIVE>='2011-03-26' AND DEPART<='2011-03-27') b
ON a.ROOMNO = b.ROOMNO
WHERE b.ROOMNO is null and

  wanwan017

ขอบคุณท่ามากเลยครับ ที่ช่วยเปิดไฟใฟ้ผม จะได้ทำงานต่อให้เสร็จ
+1  wanwan031
บันทึกการเข้า

รับพัฒนาโปรแกรม PHP Mysql
รับออกแบบระบบโปรแกรม
รับวางระบบเครือข่ายคอมพิวเตอร์
หน้า: [1]   ขึ้นบน
พิมพ์