|
|
|
การดึงข้อมูลจาก DB มาคำนวณ มีปัญหาครับ [ไม่แสดงผลในครั้งแรกที่คำนวณ] |
|
|
|
|
|
|
|
ผมมีปัญหาคือว่า รูปแรก เป็นข้อมูลจำนวนห้องพักครับ แต่พอผม กดจองหรือเช็คอิน ในรอบแรก (รูปที่ 2)
มันจะไม่อัพเดท field available ให้ครับ แต่พอกด จองหรือเช็คอิน อีกรอบ (และครั้งต่อๆไป) (รูปที่ 3) ก็ไม่ปัญหานะครับ
ห้องว่างลดลงตามปกติ ไม่ทราบว่าเป็นอะไร ช่วยทีนะครับ ขอบคุณครับ
Code ครับ
Code (PHP)
$query1 = mysql_query("SELECT * FROM status WHERE id_status = '".$type."'");
$query2 = mysql_query("SELECT * FROM room WHERE id_room = '".$room."'");
$status = mysql_fetch_assoc($query1);
$status2 = mysql_fetch_assoc($query2);
$datein = $_POST['datein'];
$dateout = $_POST['dateout'];
$numdate = $_POST['numdate'];
$amount = $_POST['amount'];
$exbed = $_POST['exbed'];
$name = $_POST['name'];
$tel = $_POST['tel'];
$total = $_POST['total'];
$status_type =$status['id_status'];
$reserv_checkin = $status2['reserv'] + $status2['checkin'];
$room_ava = $status2['total'] - $reserv_checkin;
if($type == '1'){
$room_reserv =$status2['reserv']+$amount;
$ins= mysql_query("INSERT INTO detail(id_detail,date_in,date_out,date_num,room_type,
amount,extrabed,total_price,cus_name,telephone,status)
VALUES ('', '$datein', '$dateout', '$numdate', '$room', '$amount', '$exbed', '$total'
, '$name', '$tel', '$status_type' )");
$ins_room= mysql_query("UPDATE room SET
reserv='$room_reserv' WHERE id_room='$room'");
}
else {
$room_checkin =$status2['checkin']+$amount;
$ins= mysql_query("INSERT INTO detail(id_detail,date_in,date_out,date_num,room_type,
amount,extrabed,total_price,cus_name,telephone,status)
VALUES ('', '$datein', '$dateout', '$numdate', '$room', '$amount', '$exbed', '$total'
, '$name', '$tel', '$status_type' )");
$ins_room= mysql_query("UPDATE room SET
checkin='$room_checkin' WHERE id_room='$room'");
}
$ins_room2= mysql_query("UPDATE room SET
avaliable='$room_ava' WHERE id_room='$room'");
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2012-11-23 15:16:38 |
By :
gun31937 |
View :
788 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำไม ไม่คิดยอด avaliable จาก ยอด ห้องทั้งหมด - ยอดที่จอง โดยที่ไม่ต้องเก็บ avaliable ใน db
แต่ถ้าจะทำ แบบเดิม ก้อตามนี้ก้อคงได้นะ
Code (PHP)
if("1"==$type){
$sql = "update room set reserv = reserv + ".$amount." where id =".$room;
}else{
// แบบ1
$sql = "update room set checkin = checkin + ".$amount.", avaliable = avaliable-.$amount." where id =".$room"; //กรณีที่ คิดว่า ยอด avaliable ก่อนจะทำการ update นั้นถูกต้องอยู่แล้ว
// แบบ2
$sql = "update room set checkin = checkin + ".$amount." where id =".$room;
$sql2 = "update room set avaliable= fieldtotalroom - checkin where id =".$room; คิด avaliable จาก ยอดห้องทั้งหมด - ห้องจอง
}
?>
ปล.ความคิดเห็นส่วนตัว ผิดพลาดประการใด ขออภัยด้วยคับ
|
|
|
|
|
Date :
2012-11-23 18:24:44 |
By :
gumix |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับเดี๋ยวจะลองทำดูครับ
|
|
|
|
|
Date :
2012-11-23 20:16:26 |
By :
gun31937 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|