สอบถามการทำการคิวรี ข้อมูลเฉพาะวันนั้นขึ้นมาตรวจสอบ ว่าจำนวนครบที่กำหนดหรือไม่ ถ้าครบไม่มีการ insert
ต้องการทำการจำกัดจำนวนตั๋วใน 1 วันสามารถทำจองตั๋วได้เพียง 10 ใบ หาก เกินกว่านั้นระบบจะไม่ให้มีการ insert ข้อมูล โดยการทำการคิวรี ข้อมูลเฉพาะวันนั้นขึ้นมาตรวจสอบ จากข้างต้นลองทำการคิวรี่ข้อมูลได้ดังนี้
Code (SQL)
SELECT
SUM(book_ticket.t_adult+book_ticket.t_child)
AS SumTicket
FROM
book_ticket
WHERE
book_ticket.date_booking = curdate() AND
book_ticket.round = '9:00'
ซึ่งการการลองเช็ดในการคิวรี่ก็ได้ผลออกมาตามต้องการ
แต่ผมไม่รู้จะนำค่าจาก SumTicket หรือจากการคิวรี่มาใช้เข้าเงื่อนไขเปรียบเทียบอย่างไรโดยต้องการไว้ถ้าข้อมูลในคิวรี่ <11 ให้ทำการ insert ข้อมูลได้ แต่ถ้าข้อมูลในคิวรี่มากกว่า >=10 ไม่มีการ insert ข้อมูล
รบกวนท่านผู้รู้ด้วยครับ
จากโคต๊ในหน้าต่อไปนี้
Code (PHP)
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO book_ticket (date_book,date_booking, f_name, l_name, telephone, email, t_adult, t_child, round, amount,status_book) VALUES (now(), %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['date_booking'], "text"),
GetSQLValueString($_POST['f_name'], "text"),
GetSQLValueString($_POST['l_name'], "text"),
GetSQLValueString($_POST['telephone'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['t_adult'], "text"),
GetSQLValueString($_POST['t_child'], "text"),
GetSQLValueString($_POST['round'], "text"),
GetSQLValueString($_POST['amount'], "text"),
GetSQLValueString($_POST['status_book'], "text"));
mysql_select_db($database_koh_samaesan2, $koh_samaesan2);
$Result1 = mysql_query($insertSQL, $koh_samaesan2) or die(mysql_error());
$insertGoTo = "terms&conditions.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
Tag : PHP, MySQL, JavaScript, jQuery
Date :
2015-09-09 22:45:09
By :
chayathorn108
View :
800
Reply :
4
คุณคงจะใช้ Dreamweaver พอเจอ Query ใหม่ ๆ เลยไปไม่เป็นใช่ไหม๊ครับ อันที่จริงนั้นง่ายมากเลยครับ
Code (PHP)
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
SELECT * FROM customer
$strSQL = "
SELECT
SUM(book_ticket.t_adult+book_ticket.t_child)
AS SumTicket
FROM
book_ticket
WHERE
book_ticket.date_booking = curdate() AND
book_ticket.round = '9:00' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
$intSumTicket = $objResult["SumTicket"];
เอา $intSumTicket ไป if ได้เลยครับ
ลองมาเขียน Code เองครับ ง่ายกกว่าที่คิด => PHP MySQL
Date :
2015-09-10 06:43:58
By :
mr.win
Code (PHP)
$insertSQL = sprintf("
INSERT INTO book_ticket
(date_book,date_booking, f_name, l_name, telephone, email, t_adult, t_child, round, amount,status_book)
select * from (select now(), %s as dtb, %s, %s, %s, %s, %s, %s, %s, %s, %s) tmp
where 10 > select count(date_book) from book_ticket where date(tmp.dtb)=date(date_booking)
",
GetSQLValueString($_POST['date_booking'], "text"),
....
....
ประวัติการแก้ไข 2015-09-10 08:54:45
Date :
2015-09-10 08:49:18
By :
NewbiePHP
ขอบคุณท่านทั้งสองมากครับพอดีเพิ่งนัดเขียนอะครัเลยใช้ drem ช่วย
ขอสอบถามเพิ่มเติมอีกนิดครับCode (SQL)
book_ticket.round = '9:00' ";
ตรง '9:00' เนี่ยอยากจะให้รับค่าของ selected ซึ่งอยู่ในหน้าเดียวกัน สามารถทำได้หรือเปล่าครับ
Date :
2015-09-10 15:02:15
By :
chayathorn108
สร้าง field type time ครับ จะเก็บเฉพาะเวลา
Date :
2015-10-27 02:31:36
By :
NewbiePHP
Load balance : Server 05