PHP에서 간단한 예약 양식을 만들려고합니다.SELECT COUNT가 10보다 작거나 같으면 입력 예약 정보
동일한 날짜와 시간의 예약 금액이 10 개 이하인 경우 세부 정보를 테이블에 입력하고 싶습니다.
다른 건, "예약 실패! 우리는 그 당시에 완전히 예약되었습니다."라고 말하기를 원합니다.
문제 : ". 예약 실패는 우리가 완전히 그 시간에 예약하고"나는 그러나 내 모든 메시지가 다시 같은오고, 하나의 특정 날짜와 시간 및 테스트를 위해 현재 10 명 예약이 어쨌든. 아무것도 가져올 수 없습니다.
SELECT COUNT 쿼리없이 입력 프로세스를 테스트 한 결과 성공적으로 입력되었으므로 "작거나 같음"쿼리에 문제가 있음을 알 수 있습니다.
대단히 감사드립니다. 감사합니다
<?php
require_once('lib/php/functions.php');
require_once('lib/php/db_connect.php');
//Grab Form Data
$reservationName = trim($_POST['reservationName']);
$reservationEmail = trim($_POST['reservationEmail']);
$reservationNumber = trim($_POST['reservationNumber']);
$reservationDate = trim($_POST['reservationDate']);
$reservationTime = trim($_POST['reservationTime']);
$submit = trim($_POST['submit']);
$message = '';
if (!$db_server){
die("Unable to connect to MySQL: " . mysqli_connect_error());
$db_status = "not connected";
}else{
//If submit comment pressed, get data and input
if (isset($submit) && $submit == 'Submit reservation'){
if ($reservationName&&$reservationEmail&&$reservationNumber&&$reservationDate&&$reservationTime){
$reservationName = clean_string($db_server, $reservationName);
$reservationEmail = clean_string($db_server, $reservationEmail);
$reservationNumber = clean_string($db_server, $reservationNumber);
$reservationDate = clean_string($db_server, $reservationDate);
$reservationTime = clean_string($db_server, $reservationTime);
mysqli_select_db($db_server, $db_database);
$query="SELECT COUNT(*) FROM reservations AS reservationCount WHERE reservationDate='$reservationDate' AND reservationTime='$reservationTime'";
$result=mysqli_query($db_server, $query);
$row=mysqli_fetch_array($result);
if ($row <= 10){
$query = "INSERT INTO reservations (reservationName, reservationEmail, reservationNumber, reservationDate, reservationTime)
VALUES ('$reservationName', '$reservationEmail', '$reservationNumber', '$reservationDate', '$reservationTime')";
mysqli_select_db($db_server, $db_database);
mysqli_query($db_server, $query) or
die("Insert failed: " . mysqli_error($db_server)) . $query;
$message = "<p class='success'>Booking successful! See you soon.</p>";
}else{
$message = "<p class='fail'>Booking failure! We're fully booked at that time.</p>";
}
}else{
$message = "<p class='fail'>Booking failure! Please fill in all the fields.</p>";
}
}
}
?>
@YourCommonSense 아 그 남자를 나서야, 나는 학생입니다 내 학습 과정이 진행되고있다. – jb93
두 가지 문제가 있습니다. 1) 질의가 틀리며 2) 결과 검사가 잘못되었습니다. 내 대답을 확인해. – Latheesan
@LatheesanKanes Latheesan 님이이 문제를 해결했습니다. – jb93