预订系统。检查现有数据

时间:2013-05-26 22:34:14

标签: php mysql

我想检查并比较输入表单上的信息和存储在我数据库中的信息。 基本上。如果是培训师,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";
                 }
             }
}

2 个答案:

答案 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_queryhttp://ch1.php.net/manual/en/function.mysql-query.php并且您应该使用MySQLi或PDO_MySQL。您的代码很容易受到SQL注入。