|
|
|
ใครพอจะช่วยแนะนำ หรือพอมีโค้ดการทำตารางการจองแบบนี้บ้าง |
|
|
|
|
|
|
|
ช่วยหน่อยน่ะครับ พี่ๆ ขั้นเทพทั้งหลาย
|
|
|
|
|
Date :
2009-09-30 18:20:43 |
By :
oasiis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หุหุ ไว้ถ้ายังไม่มีใครช่วย เด่วดึกๆจะมาทำให้ตอนนี้ไม่ว่าง
แต่นึก concept คร่าวๆน่าจะประมาณนี้
echo -> <table><tr>ส่วนหัวเรื่องตารางทั้งหมด....
query -> select ฟิลด์วันที่จอง where ฟิลวันที่จอง(explodeเดือนปี)=เดือนปี order by ฟิลวันที่จอง
fetch ->while
echo-><tr><td>ว/ด/ป</td>
default $r1t1,$r1t2,$r1t3,... เท่ากับ ""
query -> select * where ฟิลด์วันที่จอง=ว/ด/ป
fetch -> while
เงื่อนไข if ( ห้อง1 == ฟิลด์ห้อง && ฟิลด์ช่วงเวลา == เช้า) แล้ว $r1t1= ฟิลด์หน่วยงาน
ไม่เช่นนั้นแล้ว else if( ห้อง1 == ฟิลด์ห้อง && ฟิลด์ช่วงเวลา == บ่าย ) แล้ว $r1t2= ฟิลด์หน่วยงาน
ไม่เช่นนั้นแล้ว else if( ห้อง1 == ฟิลด์ห้อง && ฟิลด์ช่วงเวลา == เช้าบ่าย ) แล้ว $r1t3= ฟิลด์หน่วยงาน
ไม่เช่นนั้นแล้ว else if( ห้อง2 == ฟิลด์ห้อง && ฟิลด์ช่วงเวลา == เช้า ) แล้ว $r2t1= ฟิลด์หน่วยงาน
ไม่เช่นนั้นแล้ว else if( ห้อง2 == ฟิลด์ห้อง && ฟิลด์ช่วงเวลา == บ่าย ) แล้ว $r2t2= ฟิลด์หน่วยงาน
ไม่เช่นนั้นแล้ว else if( ห้อง2 == ฟิลด์ห้อง && ฟิลด์ช่วงเวลา == เช้าบ่าย ) แล้ว $r2t3= ฟิลด์หน่วยงาน
....
จบ while
echo-> <td>$r1t1</td><td>$r1t2</td><td>$r1t2</td><td>$r2t1</td><td>$r2t2</td><td>$r2t3</td>...
echo-> </tr>
เพิ่มค่าตัวแปร ว/ด/ป + 1วัน
จบ while
echo-> </table>
ประมาณนี้ละมั่ง :>
|
|
|
|
|
Date :
2009-09-30 19:31:05 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Quote:
ยอดเยี่ยมมาก ขอบคุณมากครับ พี่หนุม เทพจริงๆ
*** อยากให้ตารางวันที่ แสดงเป็นภาษาไทย เช่น 1 ตุลาคม 2552 อ่ะครับ ต้องทำยังไง ****
|
|
|
|
|
Date :
2009-09-30 22:15:23 |
By :
oasiis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่หหนุมค่ะแล้วถ้ามีห้องมากว่าสองห้องละคะแต่ก็มีสามช่วงเวลาเหมือนกานค่ะมีวันที่ใช้ห้องและคืนห้อง อะคะจะใช้คำสั่งนี้ได้หรอค่ะแล้วมีการเพิ่มห้องได้อีกเมื่อเพิ่มห้องอีกก็ต้องมาเขียนคำสั่งให้กับห้องที่เพิ่มใหม่แบบนี้อีกหรอค่ะอีกอย่างค่ะ ต้องการดึงข้อมูลมาโชวบนปฎิทินด้วยค่ะ และห้องที่ยังไม่ถูกจองก็สามารถคลิกเข้าไปจองได้อะคะ จะเขียนคำสั่งไงหรอค่ะโดยคลิกไปที่ห้องแล้วจะเจอหน้าปฎิทินแล้วในปฎิทินก็จะบ่งบอกว่าห้องนี้ในแต่ละเดือนมีการจองวันไหน ซึ่งแต่ละวันมีสามช่วงเวลาค่ะ 01=เช้า 02 =บ่าย 03=ทั้งวัน
ค่ะรบกวนทั้งผู้รู้ช่วยตอบให้หน่อยนะคะเขียนคำสั่งเออเรอไปหมดค่ะ ไม่รู้ว่าคำสั่งที่ถูกต้องอะค่ะ
|
|
|
|
|
Date :
2010-01-14 00:59:59 |
By :
chin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่หหนุมค่ะแล้วถ้ามีห้องมากว่าสองห้องละคะแต่ก็มีสามช่วงเวลาเหมือนกานค่ะ มีวันที่ใช้ห้องและคืนห้อง อะคะจะใช้คำสั่งนี้ได้หรอค่ะแล้วมีการเพิ่มห้องได้อีกเมื่อเพิ่มห้องอีกก็ ต้องมาเขียนคำสั่งให้กับห้องที่เพิ่มใหม่แบบนี้อีกหรอค่ะ
โค้ดหน้านี้
http://cakephp.jitwitya.com/post/php-reserved-room-table-in-each-month
แก้
$rooms = array('room1','room2');
เป็น
$rooms = array('room1','room2','room3');
ก็ใช้ได้ละครับ
แต่ถ้ามีเป็น 10 ห้อง ตารางจะใหญ่ไป
ให้ใช้โค้ดหน้า http://cakephp.jitwitya.com/post/php-reserved-room-table-in-each-month เหมือนเดิม
ไฟล์แรก test1.php ให้เป็น
$rooms = array('room1','room2');
เหมือนเดิม
อีกไฟล์หนึ่ง test2.php แก้เป็น
$rooms = array('room3','room4');
อีกไฟล์หนึ่ง test3.php แก้เป็น
$rooms = array('room5','room6');
แบบนี้ไปเรื่อยๆ จนครบทุกห้องครับ
|
|
|
|
|
Date :
2010-01-14 08:58:28 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องการดึงข้อมูลมาโชวบนปฎิทินด้วยค่ะ และห้องที่ยังไม่ถูกจองก็สามารถคลิกเข้าไปจองได้อะคะ
จะเขียนคำสั่งไงหรอค่ะโดยคลิกไปที่ห้อง แล้วจะเจอหน้าปฎิทินแล้วในปฎิทินก็จะ
บ่งบอกว่าห้องนี้ในแต่ละเดือนมีการจองวันไหน ซึ่งแต่ละวันมีสามช่วงเวลาค่ะ 01=เช้า 02 =บ่าย 03=ทั้งวัน
โค้ดค่อนข้างซับซ้อนนิดนะครับ
โค้ดนี้ใช้ฐานข้อมูลเดียวกับ http://cakephp.jitwitya.com/post/php-reserved-room-table-in-each-month
นะครับจะเก็บข้อมูลเป็น 1,2,3 ไม่ใช่ 01,02,03 จะต้องแก้เพิ่มเติมนิดหน่อยครับ
ดูที่โค้ด
http://cakephp.jitwitya.com/post/php-activity-calender
จะเห็นมีตัวแปร
$acts = array(
'2009-08-12'=>'activity1',
'2009-12-05'=>'activity2',
);
ให้เปลี่ยนโค้ดส่วนี้เป็นการดึงข้อมูลจาก database มาใส่ใน array แทนครับ
//สมมุติว่าคลิ้กมาหา calendar.php จากลิงค์
//<a href="http://localhost/calendar.php?room=room1">room1 check</a>
//จะได้ query = SELECT * FROM resv WHERE room='room1'
//อย่าลืมแทรกโค้ด mysql_connect($host,$username,$password); ด้วยนะ
$room = $_GET['room'];
$r = mysql_query("SELECT * FROM resv WHERE room='$room'");
$acts = array();
while($row = mysql_fetch_assoc($r)){
$date = $row['resv_on'];
$acts[$date] = $row['resv_at'];
}
คราวนี้พอคลิ้กที่วันที่ในปฎิทินจะแสดง 1 หรือ 2 หรือ 3 ครับ ซึ่งแสดงว่ามีการจองแล้วครับ
มาดูโค้ดอีกส่วนนึงนะครับ
function echoDate($y,$m,$d,$acts){
$ymd = sprintf("%04d-%02d-%02d",$y,$m,$d);
echo array_key_exists($ymd,$acts)
?'<a href="act.php?date='.$ymd.'" onclick="alert(\''.$acts[$ymd].'\');return false;">'.$d.'</a>'
:$d;
}
แก้ไขเป็น
function echoDate($y,$m,$d,$acts){
$ymd = sprintf("%04d-%02d-%02d",$y,$m,$d);
$ymde = urlencode($ymd);
$room = urlencode($_GET['room']);
if (array_key_exists($ymd, $acts)){
echo '<a href="act.php?date='.$ymd.'" onclick="alert(\''.$acts[$ymd].'\');return false;">'.$d.'</a>';
if ($acts[$ymd] != 3){
//วันที่ $acts[$ymd] เท่ากับ 1,2 จะยังจองได้อยู่ก็จะแสดงลิงค์
echo "<a href='add_resv.php?date={$ymde}&room={$room}'>resv</a>";
}
}else{
echo $d;
//วันที่ $acts[$ymd] ไม่มีอยู่ใน array $acts แสดงว่ายังจองได้อยู่
echo "<a href='add_resv.php?date={$ymde}&room={$room}'>resv</a>";
}
}
ลองแก้ตามนี้ดูก่อนครับ มีปัญหาก็ถามเพิ่มเติมได้ครับ
|
|
|
|
|
Date :
2010-01-14 09:55:05 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโค้ดใหม่ค่ะ เข้าไม่ได้ค่ะ
|
|
|
|
|
Date :
2010-12-07 16:20:55 |
By :
ต้าร์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณพี่ๆ
|
|
|
|
|
Date :
2010-12-13 10:48:22 |
By :
ต้าร์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|