我想检查并比较输入表单上的信息和存储在我数据库中的信息。 基本上。如果是培训师,sessionslot eventdate是相同的dbtrainer,dbeventdate dbsessionslot ECHO“Booked”; 否则插入预订表
我对编程知之甚少,可以在这方面提供一些帮助。
这是我正在使用的代码片段。
if(isset($_GET['add'])){
$trainee = $_POST['txttrainer'];
$trainer = $_POST['txttrainee'];
$sessionSlot = $_POST['txtsession'];
$eventdate = $month."/".$day."/".$year;
$query = mysql_query("SELECT * FROM BOOKING WHERE trainer='$trainer' AND SessionSlot='$sessionslot");
$sqlinsert = "insert into booking (Trainee,Trainer,sessionSlot,eventDate,dateAdded) values ('".$trainee."','".$trainer."','".$sessionSlot."','".$eventdate."',now())";
$resultinsert = mysql_query($sqlinsert);
$numrows = mysql_num_rows($query);
if($numrows == 1) {
echo "this timeslot is booked"
if($resultinsert){
echo "Booking Successful....";
}else{
echo "Booking Failed";
}
}
}
答案 0 :(得分:1)
if(isset($_GET['add'])){
$trainee = $_POST['txttrainer'];
$trainer = $_POST['txttrainee'];
$sessionSlot = $_POST['txtsession'];
$eventdate = $month."/".$day."/".$year;
$query = mysql_query("SELECT * FROM BOOKING WHERE trainer='$trainer' AND SessionSlot='$sessionslot");
$sqlinsert = "insert into booking (Trainee,Trainer,sessionSlot,eventDate,dateAdded) values ('".$trainee."','".$trainer."','".$sessionSlot."','".$eventdate."',now())";
$numrows = mysql_num_rows($query);
if($numrows >0) {
echo "this timeslot is booked"
}else{
$resultinsert = mysql_query($sqlinsert);
if(mysql_error()==""){
echo 'time slot booked';
}else{
echo 'error';
}
}
}
说明:
如果选择了行,则会预订时间段,否则执行查询。如果查询没有错误,则打印出成功。
答案 1 :(得分:0)
如果您致电mysql_query
,则会执行查询。因此,在检查INSERT
是否返回一行之前,您正在执行SELECT
。
这意味着您应将INSERT
部分置于if($numrows != 1)
条件下。
请注意,不推荐使用mysql_query
:http://ch1.php.net/manual/en/function.mysql-query.php并且您应该使用MySQLi或PDO_MySQL。您的代码很容易受到SQL注入。