ช่วยด้วยค่ะ มือใหม่หัดทำระบบจองห้องพัก

เริ่มโดย usma, 10 กุมภาพันธ์ 2009, 20:29:34

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

usma

ตอนนี้ทำระบบจองห้องพักเสร็จแล้ว แต่เกิดปัญหาใหม่ คือ ต้องการให้หน้าเพจแจ้งหากห้องที่จองเต็มในช่วงที่ลูกค้าทำการจองน่ะค่ะ เช่น จองวันที่ 14/02/2009 - 16/02/2009 แต่ช่วงเวลานี้มีคนจองไปแล้ว จะทำยังไงให้ระบบแจ้งกับลูกค้าได้บ้างอ่ะคะ   :-* :-* :-*

ที่ทำอยู่เป็นแบบง่ายๆ ไม่ได้สร้างฐานข้อมูล น่ะค่ะ ถ้าจะทำแบบที่ว่ามานั้น สามารถทำได้ไหม แล้วต้องเริ่มจากอะไรบ้างคะ รบกวนด้วยค่ะเครียดจริงๆ

(มือใหม่หัดทำ)

joesung

ลายเซ็น:ลายเซ็นจะแสดงที่ด้านล่าง ของแต่ละข้อความ รวมถึงข้อความส่วนตัว คุณสามารถใช้ BBC โค๊ดและสัญลักษณ์แสดงอารมณ์ได้

EThaiZone

แบบง่ายๆ ที่ว่าหมายถึงยังไงครับ บอกเท่านี้ไม่เก็ทเลยครับ
และถ้าผมบอกวิธีสำหรับฐานข้อมูลไป สงสัยได้แก้ยกกระบิ

สำหรับฐานข้อมูล ก็คือสร้าง db โดยมีฟิลด์ชนิด date หรือ datetime เก็บข้อมูล

สมมุติว่าเป็นแบบนี้

CREATE TABLE room (
r_id int(2) NOT NULL auto_increment,
start_date date NOT NULL default '0000-00-00',
end_date date NOT NULL default '0000-00-00',
PRIMARY KEY (r_id)
) TYPE=MyISAM;

Query จะแนวนี้
SELECT * FROM 'room' WHERE end_date < '2009-02-14'

ซึ่งก็คือวันสุดท้ายที่มีการจอง (end_date) จะต้องน้อยกว่าเวลาที่ลูกค้าเริ่มจอง = ห้องว่าง
ถ้ามันไม่คืนค่าสักเรคคอร์ค ก็คือไม่มีห้องว่าง

ปล. ถ้าต้องการแบบมีเวลาด้วย ก็ใช้ชนิด datetime แทน ลักษณะข้อมูลคือ YYYY-MM-DD HH:MM:SS
ปล2. ถ้าตรงไหนผิด ท่านอื่นชี้แนะได้นะครับ  :P

usma

โทษทีค่ะ
อันนี้เป็น reservation.php ประมวลผล จากฟอร์มรับแสดงทางหน้าจอและส่งเมลล์หาเรา(แบบง่ายๆอย่างที่บอกน่ะค่ะ)

<?php

$firstname=$_POST["firstname"];
$lastname=$_POST["lastname"];
$nationality=$_POST["nationality"];
$travelfrom=$_POST["travelfrom"];
$telephone=$_POST["telephone"];
$email1=$_POST["email1"];
$email2=$_POST["email2"];
$checkin=$_POST["checkin"];
$checkout=$_POST["checkout"];
$night=$_POST["night"];
$guest=$_POST["guest"];
$room=$_POST["room"];
$additional=$_POST["additional"];

if ($firstname=="" or $lastname=="" or $telephone=="" or $email1=="" or $checkind=="" or $checkinm=="" or $checkiny=="" or $checkoutd=="" or $checkoutm=="" or $checkouty=="" )   {
     echo "<h3><center><font face='geneva' color='#e30d19' size=5> ERROR  : </front><font face='geneva' color='#ffffff' size=5> please type in <font face='geneva' color='#e30d19' size=5>* </front><font face='geneva' color='#ffffff' size=5> boxs</front><h3></center>\n";
    echo "<center><A HREF= reservation.html>.....back to Reservation.....</A></center>";
    }
else {
print "<center><font face='geneva' color='#ffffff' size=5>Send Resarvation Complete</font></center><br> \n";
print "<br> \n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>Name  :  $firstname $lastname</font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>Nationality  :  $nationality </font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>Travel From  :  $travelfrom </font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>TelePhone No.  :  $telephone </font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>Email 1  :  $email1 </font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>Email 2  :  $email2 </font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>Check-in  :  $checkind $checkinm $checkiny </font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>Check-out  :  $checkoutd $checkoutm $checkouty </font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>No. of Night  :  $night </font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>No. of Guest  :  $guest </font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>Room Type  :  $room </font><br>\n";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</front><font face='geneva' color='#ffffff'>Additonal Requirements  :  $additional</font> <br>\n";

$sendto = "[email protected]";
$subject = "FourInn Customers Reservation";
$message = "FourInn Customers Reservation \n Name : $firstname  $lastname \n Nationality : $nationality \n Travelfrom : $travelfrom \n Telephone : $telephone \n E-mail1 : $email1 \n E-mail2 : $email2 \n Checkin : $checkind $checkinm $checkiny \n Checkout : $checkoutd $checkoutm $checkouty \n Night : $night \n Guest : $guest \n Room : $room \n Additonal : $additional \n ";

mail ($sendto ,$subject ,$message);
}
?>

ไม่รู้ต้องทำไงต่อ ขอบคุณที่เข้ามาบอกนะคะ รอคำแนะนำอยู่ค่ะ

liveadsense

#4
ขอยกตัวอย่าง table ของคุณ EThaiZone


CREATE TABLE room (
room_id int(2) NOT NULL auto_increment,
start_date date NOT NULL default '0000-00-00',
end_date date NOT NULL default '0000-00-00',
PRIMARY KEY (r_id)
) TYPE=MyISAM;

Query จะแนวนี้
$room = @mysql_query("SELECT * FROM 'room' WHERE room_id = "select"");
if($time_now < $room['end_date date']){
$room_stat = "ไม่ว่าง";
}else{
$room_stat = "ว่าง";
}


จาก code ก็จะแสดงให้ลูกค้าเห็นก่อนเลือกห้องที่จะจองได้ว่า สถานะของห้องว่างหรือไม่ว่าง
พูดง่ายๆต้องสร้างฐานข้อมูลของแต่ละห้องขึ้นมาครับว่ามีการจอง เวลาไหนถึงเวลาไหน มัน ถึงจะทำให้ โชว์ หน้าเวปได้ว่าสถานะห้องเป็นอย่างรัย  ผิดพลาดตรงไหนแก้ด้วยนะครับ  :)

เตือนตัวเอง ว่าเก่งได้ แต่อย่ากร่าง
รู้รับฟัง ไม่ใช่พล่ามเป็นน้ำไหล
อย่าหลงตน ให้คนอื่นเหนื่อยหน่ายใจ
เจอบันได ถ้าขึ้นได้ ต้องลงเป็น

เมียวโจ้

ไม่รู้ว่าผมยังไม่เข้าใจคำถามหรืออย่างไงนะ แต่ถ้าอยากให้โปรแกรมสามารถรู้โดยอัตโนมัติก็ต้องมีซักที่ที่เก็บข้อมูลว่าช่วงไหนบ้างที่ห้องเต็ม มันก็ต้องมีฐานข้อมูล หรือไม่ก็อย่างน้อยต้องมี text file ซักอันไว้เก็บข้อมูล หรือว่าจะ hard code ลงไปในโปรแกรมเลย แต่ให้ตายซิ ขอบอกว่าเป็นวิธีการที่แย่มากๆ

Kobsoft


usma

จากโค๊ด table ของคุณ EThaiZone
เราต้องสร้างฐานข้อมูลของแต่ละห้องขึ้นมาก่อน แล้วค่อยใส่โค๊ตตัวนี้หรอคะ งง  :-X อย่าว่าสอนยากสอนเย็นเลยนะคะ ไม่เป็นจริงๆ  :-*

ขอบคุณ คุณเมียวโจ้  คุณliveadsense คุณEThaiZone  แล้วก็คุณjoesung มากๆค่ะ


EThaiZone

CREATE TABLE room (
r_id int(2) NOT NULL auto_increment,
start_date date NOT NULL default '0000-00-00',
end_date date NOT NULL default '0000-00-00',
PRIMARY KEY (r_id)
) TYPE=MyISAM;

อันนี้เป็นโค้ด sql ที่ใช้สร้างตาราง ซึ่งเราสามารถใส่ใน phpmyadmin ก็ได้เพื่อสร้าง table
ซึ่งผมแค่ยกตัวอย่างถึงฟิลด์จำเป็น ถ้าเราใช้จริงอาจมีฟิลด์อื่นอีกเช่น ชื่อผู้ใช้ขณะนี้

ว่าแต่ฟังแล้วเหมือนคุณไม่ค่อยเป็นเรื่องฐานข้อมูลเลยอะครับ :P

ปล. ตัวอย่างของคุณ liveadsense นี้เหมาะเอาไปใช้จริงได้นะครับ (แสดงรายการไปเลยว่าห้องไหนว่าง ห้องไหนไม่ว่าง)
มันทำให้ผมต้องร้อง "อ้อ ทำไมเราไม่คิดถึงแบบนี้"  :P

thenetxx

Develop site but can't develop life
ASIA

navico

ทำอยู่เหมือนกันครับ vb6.0
ยังงงๆเหมือนกัน

lovesai


tumtac

ผู้ดูแลลบมันไปแล้ว สมน้ำหน้าอ่ะ
แก้ไขครั้งสุดท้าย: ชาตินี้ เวลา 25:26:05 โดย tumtac

deeztiwz

- รับซื้อเว็บที่ดิน คอนโด ขายบ้าน ทุกชนิดครับ ทั้งเวบทั้งเพจทั้งกลุ่มทุกอย่างครับ (ติดต่อ LINE)
- รับฝากขายสินค้าทุกชนิด ลงระบบdropship มีสมาชิกพ่อค้าแม่ค้ารอซื้อครับ
- รับซื้อเฟซบุก มีอายุ จำนวนมาก รับไม่อั้นครับ
-  [direct=http://www.xn--22cs0b0bdj4hsa2c.com]ขายซิมทรู[/direct]ยังไม่ลงทะเบียนซิม มีเยอะ ติดต่อไลน์ครับ
[direct=https://iline.in.th]หาเพื่อนไลน์[/direct] . [direct=https://atline.iline.in.th]หากลุ่มไลน์[/direct] .

[direct=https://admintd.com]ลงประกาศขายที่ดิน[/direct]

ติดต่อ http://goo.gl/nU2btZ

malang

[direct=http://ladybff.com].[/direct][direct=http://www.kophanganresorts.com]Koh Phangan[/direct][direct=http://www.menuyim.com]เมนูอร่อย[/direct][direct=http://www.thaisunsetcove.com]phangan sunset[/direct]

ahon

[direct=http://hotelandresortthailand.com]█ โปรโมชั่นโรงแรม By Hotel&Resort █[/direct]
[direct=http://hotelandresortthailand.com/search.php?destination=73]█ รีวิวโรงแรมเชียงใหม่ By Hotel&Resort█[/direct]  จะไปเที่ยวเชียงใหม่ ดูก่อนนะครับ

kobkung

ยังอยากได้กันอีกรึ ขอมาเดี๋ยวจัดให้  :wanwan004:
เราเป็นบริษัท รับทำเว็บไซต์ แก้เว็บเดิม เขียน Php+Mysql+jQuery+css+bootstrap  งานตามสั่ง ประสบการณ์ จะ 19 ปี ละจ้า
[direct=http://www.smilephp.com]Smilephp.com[/direct] รับทำเว็บไซต์บริษัท e-commerce + ระบบชำระเงิน paypal,ธนาคาร  เว็บบริษัท เว็บขายของ ระบบจอง เช่า เขียน PHP ได้ทุกแนว  ช่วงนี้เน้นรับงาน ERP ระบบเอกสารบริษัท ,บัญชี ,  Barcode, Stock , Warehouse , Logistic ติดต่อ 086-364-5262
[direct=http://www.sellerorder.com ระบบหลังบ้าน จัดการ Order ขายของ  ช่วงนี้หาคนทดสอบฟรี ขอได้ตามเมลในเว็บ[/direct]
งดตอบคนทำเว็บนอกลู่นอกทาง ไม่ทำเว็บ WP ปั่นแชร์ เว็บประมูล สคริปปั่นใดๆ ไม่ทำเว็บบอลและพ

deknakhon

รับพัฒนาโปรแกรม PHP Mysql
รับออกแบบระบบโปรแกรม
รับวางระบบเครือข่ายคอมพิวเตอร์

deknakhon

อ้างถึงจาก: usma ใน 10 กุมภาพันธ์ 2009, 20:29:34
ตอนนี้ทำระบบจองห้องพักเสร็จแล้ว แต่เกิดปัญหาใหม่ คือ ต้องการให้หน้าเพจแจ้งหากห้องที่จองเต็มในช่วงที่ลูกค้าทำการจองน่ะค่ะ เช่น จองวันที่ 14/02/2009 - 16/02/2009 แต่ช่วงเวลานี้มีคนจองไปแล้ว จะทำยังไงให้ระบบแจ้งกับลูกค้าได้บ้างอ่ะคะ   :-* :-* :-*

ที่ทำอยู่เป็นแบบง่ายๆ ไม่ได้สร้างฐานข้อมูล น่ะค่ะ ถ้าจะทำแบบที่ว่ามานั้น สามารถทำได้ไหม แล้วต้องเริ่มจากอะไรบ้างคะ รบกวนด้วยค่ะเครียดจริงๆ

(มือใหม่หัดทำ)

ระบบที่จะทำ สำหรับโรงแรมขนานเล็กหรือขนาดใหญ่ครับ
  ที่จริงแล้วการจองห้องพักใช้การตรวจสอบ โดย Room Type นะครับ
เพราะระบบงานจะได้รองรับการทำงานกับโรงแรมขนาดใหญ่ด้วย


แนวคิดแบบง่ายๆๆนัครับ

type1  มีจำนวน  10
type2  มี  9ห้อง
type3 มี 10 ห้อง



แล้วหน้าจองห้องพักสำหรับการจอง 

ประเภทห้อง  xxxxxxxxx
วันที่เข้าพัก   xx/xx/xxxx
วันที่สิ้นสุดการพัก  xx/xx/xxxx


แล้วให้ข้อมูลเก็บในตารางจองห้องพัก




Booking
วันที่จอง  วันที่เข้าพัก  วันที่สินสุดการเข้าพัก   ประเภทห้อง   สถานะการจอง  N รอการยืนยัน  B เรียบร้อย  C ยกเลิก

ในการตรวจการจองก่อนบันทึกลงตารางนี้เราต้องที่การตรวจสอบและเปลียบเทียบกว่าว่า  ในช่วงเวลานั้นมีการจองไปเท่าไรแล้ว


ตัวอย่าว่า   type ที่สองโดยจองไปเต็มแล้ว 9 ครั้ง  และสถานะเป็น  B หมดแล้ว

$sqlTYPE=select * from RMTYPE where  RMTYPE_CODE=$ตัวแปร

Num_Room=rs_arr[noofroom]  แสดงข้อมูห้อง

$SqlBook=select * from booking where  startdate มากกว่าหรือเท่ากับ $ตัวแปร  และ enddate น้อยกว่าหรือเท่ากับ $ตัวแปร  AND  RMTYPE_CODE


$nrow_bookong

if ($Num_Room=$nrow_bookong ) {
ไม่มีจำนวนห้องว่างใน ประเภทห้องนี้  กรุณาจองประเภทห้องใหม่
} else {
จองได้ มีห้องว่างจำนวน 
}
   

หวังว่าคงจะมีประโยชน์ กับท่านนะครับ
ผมทำงานด้านนี้โดยตรง แต่ช่วงนี้ติดงาน เพิ่มเติ่ม PM มาได้นะครับ
รับพัฒนาโปรแกรม PHP Mysql
รับออกแบบระบบโปรแกรม
รับวางระบบเครือข่ายคอมพิวเตอร์

Aleance


    -[ เทพกล้อง ]- ดอทคอม