我有一个插入查询,但我想在执行之前执行一些验证。我觉得困难的地方是将查询结果放在另一个查询中。我已经研究并阅读了很多问题,但我似乎无法找到解决方案。
为了给出一些背景知识,我想要实现的是一个从查询中生成结果表的网页。可以选择每一行,当选择行时,将显示一个模式,其中包含所选行的详细信息。用户检查模态的详细信息,输入其名称并选择提交。
convertquery有效,但尝试将其结果插入容量查询会带来错误,例如Undefined Index。
require( 'connectivity.php' );
$id = $_REQUEST[ 'id' ];
$query = "SELECT schedule.*, class.class_description, area.area_description FROM globo_gym1.schedule , globo_gym1.class, globo_gym1.area WHERE schedule.class_ID = class.class_ID AND class.area_ID = area.area_ID AND schedule.id='".$id."'";
$result = mysqli_query( $con, $query )or die( mysqli_error() );
$row = mysqli_fetch_assoc( $result );
?>
$status = "";
if ( isset( $_POST[ 'new' ] ) && $_POST[ 'new' ] == 1 ) {
$id = $_REQUEST[ 'id' ];
$date = date( 'Y/m/d H:i:s' );
$submittedby = $_POST["username"];
$bscheduledate = $_REQUEST["date"];
$bscheduleclassid = $_REQUEST["class_description"];
//member username search
$query1 = mysqli_query($con, "SELECT member_forename FROM member where member_ID='".$submittedby."'");
if(!$query1 || mysqli_num_rows($query1) == 0) {
die( "Member ID is not valid" . mysqli_error($con));
}
$convertquery = mysqli_query($con, "SELECT class_ID FROM class where class_description='".$bscheduleclassid."'");
$class = mysqli_fetch_row($convertquery);
$classid = $row['class_ID'];
$capacityquery = mysqli_query($con, "SELECT capacity from globo_gym.class where class_ID ='".$classid."'");
$capacity = mysqli_fetch_row($capacityquery);
$capacity = $row['capacity'];
echo $capacity;
$countquery = mysqli_query($con, "SELECT COUNT(bschedule_class_id) FROM globo_gym.booking WHERE bschedule_class_id='".$classid."'");
if(!$countquery || mysqli_num_rows($countquery) >= $capacity) {
die( "The class is fully booked." . mysqli_error($con));
}
else {
$insertquery = mysqli_query($con, "INSERT INTO booking m (booking_id, booking_date, customer_ID, bschedule_date, bschedule_class_id) VALUES (DEFAULT, '$date', '$submittedby', '$bscheduledate', '$classid ')") or die( 'Error: ' .mysqli_error($con) );
echo "Booking made";
}
}
}