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 > ขอช่วยหน่อยค่ะ ต้องการโค้ดแสดงการจอง จากการค้นหาวันที่ ให้ออกมาในรูปแบบตาราง ให้แสดงว่างและไม่ว่างค่ะ



 

ขอช่วยหน่อยค่ะ ต้องการโค้ดแสดงการจอง จากการค้นหาวันที่ ให้ออกมาในรูปแบบตาราง ให้แสดงว่างและไม่ว่างค่ะ

 



Topic : 136017



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



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




แสดงการจอง

<?php
include 'connect.php';
$arrTime = array('09:00-10:30','10:30-12:00','12:00-13:30','13:30-15:00','15:00-16:30',
'16:30-18:00','18:00-19:30','19:30-21:00','21:00-22:30');
$arrTable = array('A01','A02','A03','A04','A05','B01','B02','B03','B04','B05');

$strTable = '<table class="table table-striped table table-bordered table-hover table-success" border="1"
width="800" align="center"><tr><td>โต๊ะ/เวลา</td>';
foreach($arrTime as $time){//สร้างหัวตาราง
$strTable.='<td>'.$time.'</td>';
}
$strTable.='</tr>';

foreach($arrTable as $tableNum){
$strTable.='<tr><td>'.$tableNum.'</td>';
$sql = "SELECT * FROM tb_booking WHERE table_name ={$tableNum} AND date='{$_POST['date']}' ORDER BY ttime ASC";
$rs = mysqli_query($conn,$sql);
$run = 0;

foreach($arrTime as $time){
if($run && $time == mysql_result($rs,$run,'ttime')){//ถ้ามีการจอง
$strTable.='<td>จองแล้ว</td>';
$run++;
}else{
$strTable.='<td>ว่าง</td>';
}
}//End Foreach

$strTable.='</tr>';
}
echo $strTable, '</table>';

?>

อันนี้เป็นโค้ดที่ทำไว้ค่ะ ลองทำตามที่เค้าสอน ใส่แบบนี้ใน if(mysql_num_rows($rs)>$run && $time == mysql_result($rs,$run,'ttime')) แต่ว่ามันerrorค่ะ



Tag : PHP, MySQL, HTML5, XAMPP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-03-23 21:21:26 By : kamonporn View : 749 Reply : 17
 

 

No. 1



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



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


ดึงข้อมูลมาจากตารางจองค่ะ ถ้าทำได้ ในตารางตรงวันที่มีข้อมูลจอง ต้องขึ้นว่า "จองแล้ว" ค่ะ ขอช่วยหน่อยนะคะ








ประวัติการแก้ไข
2021-03-23 21:28:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-23 21:24:21 By : kamonporn
 


 

No. 2



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



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


ตามโค้ดที่ส่งมาให้ดู จากที่ดูเบื้องต้น มีการใช้คำสั่งทั้ง mysqli_???() และ mysql_???() เพราะฉนั้นลองปรับให้ตรงกันก่อน เลือกใช้สักรูปแบบ ลองดูว่าหลังจากแก้ไขแล้วยัง error ไหม?
Code
<?php include 'connect.php'; $arrTime = array('09:00-10:30','10:30-12:00','12:00-13:30','13:30-15:00','15:00-16:30', '16:30-18:00','18:00-19:30','19:30-21:00','21:00-22:30'); $arrTable = array('A01','A02','A03','A04','A05','B01','B02','B03','B04','B05'); $strTable = '<table class="table table-striped table table-bordered table-hover table-success" border="1" width="800" align="center"><tr><td>โต๊ะ/เวลา</td>'; foreach($arrTime as $time){//สร้างหัวตาราง $strTable.='<td>'.$time.'</td>'; } $strTable.='</tr>'; foreach($arrTable as $tableNum){ $strTable.='<tr><td>'.$tableNum.'</td>'; $sql = "SELECT * FROM tb_booking WHERE table_name ={$tableNum} AND date='{$_POST['date']}' ORDER BY ttime ASC"; $rs = mysqli_query($conn,$sql); $run = 0; foreach($arrTime as $time){ if($run && $time == mysql_result($rs,$run,'ttime')){//ถ้ามีการจอง $strTable.='<td>จองแล้ว</td>'; $run++; }else{ $strTable.='<td>ว่าง</td>'; } }//End Foreach $strTable.='</tr>'; } echo $strTable, '</table>'; ?>



ประวัติการแก้ไข
2021-03-23 21:34:53
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-23 21:32:24 By : arm8957
 

 

No. 3



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



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


ยัง error อยู่ค่ะ
foreach($arrTable as $tableNum){
$strTable.='<tr><td>'.$tableNum.'</td>';
$sql = "SELECT * FROM tb_booking WHERE table_name ={$tableNum} AND date='{$_POST['date']}' ORDER BY ttime ASC";
$rs = mysqli_query($conn,$sql);
$run = 0;

foreach($arrTime as $time){
if(mysql_num_rows($rs)> $run && $time == mysql_result($rs,$run,'ttime')){//ถ้ามีการจอง
$strTable.='<td>จองแล้ว</td>';
$run++;
}else{
$strTable.='<td>ว่าง</td>';
}
}//End Foreach

$strTable.='</tr>';
}
echo $strTable, '</table>';
?>

มันขึ้น error แบบนี้ค่ะ
Fatal error
: Uncaught Error: Call to undefined function mysql_num_rows() in C:\xampp\htdocs\Project\test5.php:98 Stack trace: #0 {main} thrown in
C:\xampp\htdocs\Project\test5.php
on line
98


ประวัติการแก้ไข
2021-03-23 21:42:40
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-23 21:42:13 By : kamonporn
 


 

No. 4



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



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


แก้ตรงไหนครับ โค้ดข้างบนยังใช้ $rs = mysqli_query($conn,$sql);
แต่ด้านล้างใช้
if(mysql_num_rows($rs)> $run && $time == mysql_result($rs,$run,'ttime')){

เลือกเอาสักแบบ แนะนำให้ใช้แบบ mysqli_???();
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-23 21:52:04 By : arm8957
 


 

No. 5



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



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


แก้แล้วค่ะ
foreach($arrTable as $tableNum){
$strTable.='<tr><td>'.$tableNum.'</td>';
$sql = "SELECT * FROM tb_booking WHERE table_name ={$tableNum} AND date='{$_POST['date']}' ORDER BY ttime ASC";
$rs = mysqli_query($conn,$sql);
$run = 0;

foreach($arrTime as $time){
if(mysqli_num_rows($rs)> $run && $time == mysqli_result($rs,$run,'ttime')){//ถ้ามีการจอง
$strTable.='<td>จองแล้ว</td>';
$run++;
}else{
$strTable.='<td>ว่าง</td>';
}
}//End Foreach

$strTable.='</tr>';
}
echo $strTable, '</table>';
?>
ขึ้นerrorแบบนี้แทน
Warning
: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in
C:\xampp\htdocs\Project\test5.php
on line
98
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-23 22:02:47 By : kamonporn
 


 

No. 6



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



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


อันนี้เป็นตัวอย่าง ใช้ sql สนการ คิวรี่
Code (SQL)
select dt.start, dt.number, coalesce(bk.table_number, '<font color="green">Empty</font>') as bk_date 
from (
  select tb.number,  concat( tmp_d.d,' ',tmp_t.t ) as start from
  (
    select '2021-03-01' as d union 
    select '2021-03-02' union
    select '2021-03-03' union
    ...
    select '2021-03-30' union
    select '2021-03-31' 
  ) as tmp_d 
  join
  (
    select '09:00' t union
    select '10:30' union
    select '12:00' union
    ...
    select '21:00' 
  ) as tmp_t
  join table_num as tb
) as dt  
left join tb_booking as bk
  on bk.booking_datetime = dt.start and bk.table_number = dt.number
order by ......



ประวัติการแก้ไข
2021-03-23 22:11:17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-23 22:07:41 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



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


หึ่มมมม....ลองค้นหาวิธีแก้จาก error ที่ระบบแสดงให้เห็นก่อนครับ
หรืออ่านคู่มือรูปแบบการใช้งาน --> PHP MySQL Database (mysqli)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-23 22:11:12 By : arm8957
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-03-23 22:07:41
รายละเอียดของการตอบ ::
จากโค้ดที่แบบไป ต้องเอาอันไหนมาแทนค่าบ้างคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-23 22:52:06 By : kamonporn
 


 

No. 9



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



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


ตอนนี้ตรวจสอบคำสั่ง
$rs = $conn->query('statement') or die( $conn->error);

แล้วขึ้นแบบนี้

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'statement' at line 1
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-23 23:01:53 By : kamonporn
 


 

No. 10



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

ตอบความคิดเห็นที่ : 5 เขียนโดย : kamonporn เมื่อวันที่ 2021-03-23 22:02:47
รายละเอียดของการตอบ ::


1. echo $sql ออกมา แล้วเอาไปรันใน phpMyAdmin ดูผลลัพธ์ น่าจะผิดที่ชื่อฟิลด์

2. ดูจากคำสั่งลูป ไม่น่าจะนับ num rows ในลูปที่ 2
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-24 07:17:36 By : {Cyberman}
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : {Cyberman} เมื่อวันที่ 2021-03-24 07:17:36
รายละเอียดของการตอบ ::
echo แล้วได้แบบนี้
SELECT * FROM tb_booking WHERE table_name =B05 AND date='2021-03-23' ORDER BY ttime ASC

เอาไปรันดูแล้วได้แบบนี้ค่ะ
Error
SQL query: Copy


SELECT * FROM tb_booking WHERE table_name =B05 AND date='2021-03-23' ORDER BY ttime ASC LIMIT 0, 25
MySQL said:

#1054 - Unknown column 'B05' in 'where clause'

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-24 08:19:31 By : kamonporn
 


 

No. 12



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



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


ตก single quote
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-24 08:54:12 By : Chaidhanan
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 12 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-03-24 08:54:12
รายละเอียดของการตอบ ::
ได้แบบนี้ค่ะ
จจ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-24 09:03:41 By : kamonporn
 


 

No. 14



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

$sql = "SELECT * FROM tb_booking WHERE table_name ='{$tableNum}' AND date='{$_POST['date']}' ORDER BY ttime ASC";

ต้องใส่ ' ครอบไว้ เพราะฟิลด์เป็นข้อความ ไม่ใช่ตัวเลข
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-24 10:38:05 By : {Cyberman}
 


 

No. 15



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



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


คิวรี่ถูกแล้ว แต่ยังไม่มีข้อมูลที่ จอง

statement ที่เขียน มันแค่หา โต๊ะที่จอง ไม่ได้แสดง โต๊ะที่ยังไม่จอง

กลับไปวิเคราะห์ คห 6 ให้รู้ว่าโค๊ดทำงานยังไง เพื่ออะไร แล้วประยุกต์ใช้กับ field ที่สร้างไว้
มีตัวอย่างแล้วก็หัดวิเคราะห์ จะได้เข้าใจ ถ้าจะเขียนให้ตรงเป๊ะๆ ก็ต้องจ้างครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-24 13:18:46 By : Chaidhanan
 


 

No. 16



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



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


ตอบความคิดเห็นที่ : 15 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-03-24 13:18:46
รายละเอียดของการตอบ ::
พอจะรับทำในส่วนของตรงนี้มั้ยคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-04-02 13:39:33 By : kamonporn
 


 

No. 17



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



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


ที่คห 6 ได้วิเคราะห์หรือยังครับ ติดขัดตรงไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-04-04 15:18:43 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

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