ช่วยด้วยครับ ผมจอย 2 ตารางได้ แล้วครับ แต่ผมจอย 3 ตาราง ไม่ได้อ่ะ ช่วย หน่อยครับ
Code (PHP)
<?
$d = $_POST["day_booking"];
include ("connect.php");
$s = "SELECT room.name_room ,room.id_room ,booking.id_booking
,booking.head ,booking.day_booking ,booking.time_begin ,booking.time_finish
FROM (room Inner Join booking ON room.id_room = booking.id_room)
WHERE day_booking = '$d' ";
$q = mysql_query($s); ?>
<table width="97%" border="1" align="right" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5"><div align="center">ข้อมูลการจองห้องประชุม</div></td>
</tr>
<tr>
<td width="18%">หัวข้อประชุม</td>
<td width="17%">ห้องที่ใช้</td>
<td width="27%">วันที่</td>
<td width="22%">เวลาเริ่ม</td>
<td width="16%">เวลาสิ้นสุด</td>
</tr>
<?
if(mysql_num_rows($q) <1){
?>
<tr>
<td colspan="5">วันที่เลือกไม่มีการจองห้องประชุม</td>
<? }else{
while($f = mysql_fetch_array($q))
{
?>
</tr>
<tr>
<td> <?=$f["head"];?></td>
<td> <?=$f["name_room"];?></td>
<td> <?=$f["day_booking"];?></td>
<td> <?=$f["time_begin"];?></td>
<td> <?=$f["time_finish"];?></td>
<? }
} ?>
</tr>
</table>
นี่ โค๊ดที่ ให้ให้มัน แสดงครับ
ผลที่ออกมาครับ
Code (PHP)
-- ฐานข้อมูล: `boya`
--
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `booking`
--
CREATE TABLE `booking` (
`id_booking` int(5) NOT NULL auto_increment,
`head` varchar(50) NOT NULL,
`id_room` int(5) NOT NULL,
`id` int(5) NOT NULL,
`day_booking` varchar(10) NOT NULL,
`time_begin` varchar(10) NOT NULL,
`time_finish` varchar(10) NOT NULL,
`attendees` int(3) NOT NULL,
`telephone` varchar(10) NOT NULL,
`status_room` enum('1','2','3') character set utf8 collate utf8_unicode_ci NOT NULL default '1',
PRIMARY KEY (`id_booking`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ;
--
-- dump ตาราง `booking`
--
INSERT INTO `booking` VALUES (8, 'เธเธฃเธฐเธเธธเธกเธญเธขเธนเน', 14, 0, '0000-00-00', '09.00', '10.00', 10, '0850118888', '1');
INSERT INTO `booking` VALUES (7, 'เธเธฃเธฐเธเธธเธกเธญเธขเธนเน', 14, 0, '0000-00-00', '09.00', '10.00', 10, '2222', '1');
INSERT INTO `booking` VALUES (9, 'เธเธฃเธฐเธเธธเธกเธญเธขเธนเน', 14, 0, '07/19/2012', '09.00', '10.00', 10, '0850118888', '1');
INSERT INTO `booking` VALUES (10, 'เธเธฃเธฐเธเธธเธกเธญเธขเธนเน', 12, 0, '07/21/2012', '09.00', '10.00', 11, '11', '1');
INSERT INTO `booking` VALUES (11, '11111111', 12, 0, 'เธเธฃเธธเ', '09.00', '10.00', 111, '11', '1');
INSERT INTO `booking` VALUES (12, 'เนเธเธฃเธดเธเธเธเธเธเธเธเธเธเธเธเธเธ', 13, 0, '07/22/2012', '11.00', '10.00', 99, '0850118888', '1');
INSERT INTO `booking` VALUES (13, 'เธญเธขเธธเนเธซเนเธญเธเนเธเธฅเธฅเธฅเธเธฐ', 13, 0, '07/21/2012', '15.00', '10.00', 2, '0840115519', '1');
INSERT INTO `booking` VALUES (14, 'เธเธฃเธฐเธเธธเธกเธญเธขเธนเน', 11, 0, '07/22/2012', '09.00', '10.00', 11, '0850118888', '1');
INSERT INTO `booking` VALUES (15, 'เธเธฃเธฐเธเธธเธกเธญเธขเธนเน', 17, 0, 'เธเธฃเธธเ', '09.00', '10.00', 12, '0840115519', '1');
INSERT INTO `booking` VALUES (16, 'เธเธญเธฅเธฅเธเธฐเธเธฃเธฑเธ', 18, 0, '07/22/2012', '09.00', '10.00', 20, '098999999', '1');
INSERT INTO `booking` VALUES (17, 'อยากจะวิเคราะห์อะไร ๆ ๆที่พิเศษ', 19, 0, '23-07-2555', '09.00', '13.00', 10, '0850118888', '1');
INSERT INTO `booking` VALUES (18, 'ทดลองแอดไอดีลง', 19, 1, '25-07-2555', '09.00', '10.00', 10, '0850118888', '1');
INSERT INTO `booking` VALUES (19, 'ทดลองแอดไอดีลง 2', 19, 2, '25-07-2555', '09.00', '10.00', 12, '555555', '1');
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `member`
--
CREATE TABLE `member` (
`id` int(5) NOT NULL auto_increment,
`username` varchar(15) character set utf8 collate utf8_unicode_ci NOT NULL,
`password` varchar(20) character set utf8 collate utf8_unicode_ci NOT NULL,
`name` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
`phone` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
`status` enum('admin','user') character set utf8 collate utf8_unicode_ci NOT NULL default 'user',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- dump ตาราง `member`
--
INSERT INTO `member` VALUES (1, 'boya', '1234', 'thanaban', '[email protected] ', 'user');
INSERT INTO `member` VALUES (2, 'test', '1234', 'testnaaa', '', 'user');
INSERT INTO `member` VALUES (3, 'test1', '1', 'testna', '0840115519', 'user');
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `room`
--
CREATE TABLE `room` (
`id_room` int(5) NOT NULL auto_increment,
`name_room` varchar(500) NOT NULL,
`number` varchar(3) NOT NULL,
`picture_room` varchar(20) NOT NULL,
PRIMARY KEY (`id_room`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ;
--
-- dump ตาราง `room`
--
INSERT INTO `room` VALUES (19, 'ห้องวิทยาศาสตร์', '10', '8129Capture2.JPG');
ฐานข้อมูล ครับ
คือ ผมอยากดึง ชื่อ จาก ตาราง member มา โชว์เพิ่มอ่ะครับ
ช่วยหน่อยนะครับTag : PHP, MySQL
Date :
2012-07-22 01:35:42
By :
B[O]YA
View :
1859
Reply :
15
หากจะจอยกันแล้วไซร์ ต้องหาคีย์ที่มีความสัมพันธ์กันด้วยครับ ก็คือ PK FK ครับ สามารถระบุถึงเป้าหมายได้ แต่ตาราง member คุณ มันมีความสัมพันธ์กับใครบ้างครับ
Date :
2012-07-22 01:58:47
By :
Dragons_first
แล้วตาราง room,booking มีฟิลด์ไหนที่จะชี้ไปยังตาราง member ได้บ้าง(ความสัมพันธ์ระหว่าง (room>member,booking>member))
Date :
2012-07-22 03:10:59
By :
Dragons_first
คือ ผมเก็บ แบบฐานข้อมูลแบบนี้ ครับ
member [id,username,password] คราวๆนะครับ
room [id_room,nameroom]
booking [id_booking,head,id_room(จากroom),id(จากmember),day_booking]
แบบนี้ มันมีความสัมพัน กันยังครับ
คือ ทั้งหมด ทั้งมวล ผมให้มันเก็บที่ ตาราง booking ผมเลย ครับ
ตารางอื่น ผมแค่เก็บ ไอดี และ ชื่อ ครับ
Date :
2012-07-22 03:40:27
By :
B[O]YA
ถ้าตามที่ให้มาจาก คห. บนนะ ก็เขียนแบบนี้น่ะ
Code (PHP)
select * from member, room, booking where member.id=booking.id and booking.id_room=room.id_room
Date :
2012-07-22 10:03:15
By :
บังเอิญผ่านมาเห็น
ตอบความคิดเห็นที่ : 5 เขียนโดย : บังเอิญผ่านมาเห็น เมื่อวันที่ 2012-07-22 10:03:15
รายละเอียดของการตอบ ::
แล้วถ้าผมจะใส่ ค่า ให้ มันมอง เฉพาะ day_booking ='$d' ตัวนี้อ่ะครับ
Code (PHP)
<?
$d = $_POST["day_booking"];
include ("connect.php");
/*$s = "SELECT room.name_room ,room.id_room ,booking.id_booking
,booking.head ,booking.day_booking ,booking.time_begin ,booking.time_finish
FROM (room Inner Join booking ON room.id_room = booking.id_room)
WHERE day_booking = '$d' ";*/
$s = "select room.name_room ,room.id_room ,member.name,member.id,booking.id_booking
,booking.head ,booking.day_booking ,booking.time_begin ,booking.time_finish
from member.id=booking.id and booking.id_room=room.id_room
WHERE day_booking ='$d'";
$q = mysql_query($s); ?>
<table width="97%" border="1" align="right" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5"><div align="center">ข้อมูลการจองห้องประชุม</div></td>
</tr>
<tr>
<td width="18%">หัวข้อประชุม</td>
<td width="17%">ห้องที่ใช้</td>
<td width="27%">วันที่</td>
<td width="22%">เวลาเริ่ม</td>
<td width="16%">เวลาสิ้นสุด</td>
</tr>
<?
if(mysql_num_rows($q) <1){ // มันฟ้องว่า error บรรทัดนี้ อ่ะครับ
?>
<tr>
<td colspan="5">วันที่เลือกไม่มีการจองห้องประชุม</td>
<? }else{
while($f = mysql_fetch_array($q))
{
?>
</tr>
<tr>
<td> <?=$f["head"];?></td>
<td> <?=$f["name_room"];?></td>
<td> <?=$f["day_booking"];?></td>
<td> <?=$f["time_begin"];?></td>
<td> <?=$f["time_finish"];?>
<td> <?=$f["name"];?></td>
<? }
} ?>
มันerror อ่ะครับ Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Boya\check_room2.php on line 198
คือ ไม่รู้ว่า จอย แบบนี้ถูกหรือป่าวครับ ผมลองมามั่วๆตามความเข้าใจ Y_Y
ประวัติการแก้ไข 2012-07-22 10:22:21 2012-07-22 10:22:27
Date :
2012-07-22 10:21:12
By :
B[O]YA
ดันหน่อยครับ
Date :
2012-07-22 20:24:49
By :
โบย่า
Code (PHP)
<?
$d = $_POST["day_booking"];
include ("connect.php");
/*$s = "SELECT room.name_room ,room.id_room ,booking.id_booking
,booking.head ,booking.day_booking ,booking.time_begin ,booking.time_finish
FROM (room Inner Join booking ON room.id_room = booking.id_room)
WHERE day_booking = '$d' ";*/
/*$s = "select room.name_room ,room.id_room ,member.name,member.id,booking.id_booking
,booking.head ,booking.day_booking ,booking.time_begin ,booking.time_finish
from member.id=booking.id and booking.id_room=room.id_room
WHERE day_booking ='$d'";*/
/*$s = "select booking.id_booking,booking.head,booking.day_booking,booking.time_begin ,booking.time_finish, room.id_room, member.id,member.username on booking
inner join room on booking.id_booking = room.id_room
inner join member on booking.id_booking = member.id WHERE day_booking ='$d'";*/
$s = "SELECT * FROM booking
INNER JOIN room ON booing.id_room = room.id_room
LEFT JOIN member ON booking.id = member.id
WHERE day_booking ='$d'";
$q = mysql_query($s); ?>
<table width="97%" border="1" align="right" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5"><div align="center">ข้อมูลการจองห้องประชุม</div></td>
</tr>
<tr>
<td width="18%">หัวข้อประชุม</td>
<td width="17%">ห้องที่ใช้</td>
<td width="27%">วันที่</td>
<td width="22%">เวลาเริ่ม</td>
<td width="16%">เวลาสิ้นสุด</td>
</tr>
<?
if(mysql_num_rows($q) <1){ // ฟ้อง error บรรทัด นี้อ่ะครับ
?>
<tr>
<td colspan="5">วันที่เลือกไม่มีการจองห้องประชุม</td>
<? }else{
while($f = mysql_fetch_array($q)) //ฟ้อง error บรรรทัดนี้ด้วยครับ
{
?>
</tr>
<tr>
<td> <?=$f["head"];?></td>
<td> <?=$f["name_room"];?></td>
<td> <?=$f["day_booking"];?></td>
<td> <?=$f["time_begin"];?></td>
<td> <?=$f["time_finish"];?>
<td> <?=$f["name"];?></td>
<? }
} ?>
</tr>
</table>
ผม ลองจอย หลายแบบมากกครับ แต่ก็ ออก error ที่ตำแหน่ง เดียว กันหมดเลยยย
ไม่รู้ว่า ผิดยังไง
Y____Y
Date :
2012-07-23 01:16:53
By :
B[O]YA
member [id,username,password] คราวๆนะครับ
room [id_room,nameroom]
booking [id_booking,head,id_room(จากroom),id(จากmember),day_booking]
select * from member inner join booking on member.id=booking.id inner join room on bookin.id_room = room.id_room where id_booking = '$d'
Date :
2012-07-23 11:53:36
By :
Dragons_first
ตอบความคิดเห็นที่ : 9 เขียนโดย : Dragons_first เมื่อวันที่ 2012-07-23 11:53:36
รายละเอียดของการตอบ ::
มัน error ว่า อย่างนี้ครับ Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Boya\check_room2.php on line 208
Code (PHP)
<td>
<?
$d = $_POST["day_booking"];
include ("connect.php");
//$s = "SELECT room.name_room ,room.id_room ,booking.id_booking
//,booking.head ,booking.day_booking ,booking.time_begin ,booking.time_finish
//FROM (room Inner Join booking ON room.id_room = booking.id_room)
//WHERE day_booking = '$d' ";*/
//$s = "select room.name_room ,room.id_room ,member.name,member.id,booking.id_booking
//,booking.head ,booking.day_booking ,booking.time_begin ,booking.time_finish
//from member.id=booking.id and booking.id_room=room.id_room
//WHERE day_booking ='$d'";*/
//$s = "select booking.id_booking,booking.head,booking.day_booking,booking.time_begin ,booking.time_finish, room.id_room, member.id,member.username on booking
//inner join room on booking.id_booking = room.id_room
//inner join member on booking.id_booking = member.id WHERE day_booking ='$d'";*/
//$s = "SELECT * FROM booking
//INNER JOIN room ON booing.id_room = room.id_room
//LEFT JOIN member ON booking.id = member.id
//WHERE day_booking ='$d'";*/
$s = "select * from member inner join booking on member.id=booking.id inner join room on bookin.id_room = room.id_room
where id_booking = '$d'";
$q = mysql_query($s); ?>
<table width="97%" border="1" align="right" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5"><div align="center">ข้อมูลการจองห้องประชุม</div></td>
</tr>
<tr>
<td width="18%">หัวข้อประชุม</td>
<td width="17%">ห้องที่ใช้</td>
<td width="27%">วันที่</td>
<td width="22%">เวลาเริ่ม</td>
<td width="16%">เวลาสิ้นสุด</td>
</tr>
<?
if(mysql_num_rows($q) <1){ // มันฟ้อง Error บรรทัดนี้ ครับ
?>
<tr>
<td colspan="5">วันที่เลือกไม่มีการจองห้องประชุม</td>
<? }else{
while($f = mysql_fetch_array($q))
{
?>
</tr>
<tr>
<td> <?=$f["head"];?></td> // เรียกว่ามาจาก ตาราง id_booikg
<td> <?=$f["name_room"];?></td> // เรียกว่ามาจาก ตาราง room
<td> <?=$f["day_booking"];?></td> // เรียกว่ามาจาก ตาราง id_booikg
<td> <?=$f["time_begin"];?></td> // เรียกว่ามาจาก ตาราง id_booikg
<td> <?=$f["time_finish"];?> // เรียกว่ามาจาก ตาราง id_booikg
<td> <?=$f["name"];?></td> // เรียกว่ามาจาก ตาราง member
<? }
} ?>
</tr>
</table></td>
<? if(mysql_num_rows($q) <1){ // มันฟ้อง Error บรรทัดนี้ ครับ ?>
<td> <?=$f["head"];?></td> // เรียกว่ามาจาก ตาราง id_booikg
<td> <?=$f["name_room"];?></td> // เรียกว่ามาจาก ตาราง room
<td> <?=$f["day_booking"];?></td> // เรียกว่ามาจาก ตาราง id_booikg
<td> <?=$f["time_begin"];?></td> // เรียกว่ามาจาก ตาราง id_booikg
<td> <?=$f["time_finish"];?> // เรียกว่ามาจาก ตาราง id_booikg
<td> <?=$f["name"];?></td> // เรียกว่ามาจาก ตาราง member
สิ่งที่ผมเรียกมา ใช้ จากทั้ง 3 ตาราง อ่ะครับ
Date :
2012-07-23 13:49:57
By :
B[O]YA
ลอง
Code (PHP)
echo mysql_num_rows($q);
มาดูครับว่ามันได้อะไรมา
Date :
2012-07-23 20:07:01
By :
slurpee55555
บนคำสั่ง if ก็ได้ครับ
Date :
2012-07-23 20:52:34
By :
slurpee55555
Code (PHP)
$strSQL="select * from table1
INNER JOIN table2 ON table1.ฟิวด์ที่2=table2.ฟิวด์ที่2
INNER JOIN table3 ON table1.ฟิวด์ที่3= table3 .ฟิวด์ที่3";
Date :
2012-10-13 14:59:02
By :
computer1234
Load balance : Server 03