1

最初の投稿でよくわかりませんでした。それで、ここにあります。

予約.php

<table style="border: 4px;">

    <tr>
                    <!-- Start JQuery Pop-up -->

        <script src="js/jquery.js" type="text/javascript"></script>
        <script src="popup2.js" type="text/javascript"></script>

        <td style="border: 2px solid #000;"><center><img src="images/comp.jpg" height="30" width="50"><br /><b><div id="button"><a href="#" class="pcbutton">PC 05</a></div></b></center>

        </td>


    <!-- Jquery Pop-Up code starts here including the insert query -->
            <?php
                echo '<div id="popupContact">';
                echo '<a id="popupContactClose">x</a>';
                echo '<center><form method = "POST" action="reserve.php">';

                                        mysql_connect("localhost","root","") or die (mysql_error());
                                            mysql_select_db('seat_reservation') or die (mysql_error());

                                            $roomNumber = '400';
                                            $chairNumber = 5;

    //In this part, I try to insert in the database without submitting the form yet.

                                            $insert = mysql_query("INSERT INTO reservation (chair_status, room_id, chair_number) VALUES (0, '$roomNumber', '$chairNumber')");



    //I'm trying to retrieve the inserted data and do the checking.

                                    $query = mysql_query("SELECT * FROM reservation WHERE room_id = '$roomNumber' AND chair_number = '$chairNumber'");
                                            $row = mysql_fetch_assoc($query);

                                            $_SESSION['roomno'] = $row['room_id'];
                                            $_SESSION['chairnum'] = $row['chair_number'];

                                            echo '<h1>Information </h1>';
                                                echo 'Fullname : <input type="text" name="student_name" /><br /><br />';
                                                echo 'Student ID No. : <input type="text" name="stud_id" />';
                                                echo '<br /><br />';
                                                echo '<input type="submit"  value="Submit" />';
                                            echo '</form></center>';
                                        echo '</div>';

                                        echo '<div id="backgroundPopup"></div>';
                                        ?>
                                    <!-- End JQuery Pop-up -->  
                                        <td style="border: 2px solid #000;"><center><img src="images/comp.jpg" height="30" width="50"><br /><div id="button2"><a href="#" class="pcbutton"><b>PC 04</b></a></div></center>
                                        </td>
    //This is another table that's exactly the same from the code above only that this has a different PC number
                                        <?php
                                        echo '<div id="popupContact">';
                                            echo '<a id="popupContactClose">x</a>';
                                            echo '<center><form method = "POST" action="reserve.php">';

                                            mysql_connect("localhost","root","") or die (mysql_error());
                                            mysql_select_db('seat_reservation') or die (mysql_error());

                                            $roomNumber = '400';
                                            $chairNumber = 4;

                                            $insert = mysql_query("INSERT INTO reservation (chair_status, room_id, chair_number) VALUES (0, '$roomNumber', '$chairNumber')");

                                            $query = mysql_query("SELECT * FROM reservation WHERE room_id = '$roomNumber' AND chair_number = '$chairNumber'");
                                            $row = mysql_fetch_assoc($query);

                                            $_SESSION['roomno'] = $row['room_id'];
                                            $_SESSION['chairnum'] = $row['chair_number'];

                                            echo '<h1>Information </h1>';
                                                echo 'Fullname : <input type="text" name="student_name" /><br /><br />';
                                                echo 'Student ID No. : <input type="text" name="stud_id" />';
                                                echo '<br /><br />';
                                                echo '<input type="submit"  value="Submit" />';
                                            echo '</form></center>';
                                        echo '</div>';
                                        echo '<div id="backgroundPopup"></div>';
                                        ?>

予約.php

<?php
    session_start();

    $name = $_POST['student_name'];
    $stud_id = $_POST['stud_id'];
    $room_id = $_SESSION['roomno'];
    $chair_num = $_SESSION['chairnum'];

    mysql_connect("localhost", "root", "") or die (mysql_error());
    mysql_select_db('seat_reservation') or die (mysql_error());

    $query = mysql_query("SELECT * FROM reservation WHERE room_id = '$room_id' AND chair_number = '$chair_num'");
    $row = mysql_fetch_assoc($query);

    if($row['chair_status'] == 0)
    {
    $insert = mysql_query("UPDATE reservation SET chair_status = 1, student_name = '$name', stud_id = '$stud_id' WHERE room_id = '$room_id' AND chair_number = '$chair_num'");
        if($insert)
            die ("Seat reserved! <br />Redirecting...<meta http-equiv='refresh' content=2;reservation.php>");
        else
            die ("Try Again! <br />Redirecting...<meta http-equiv='refresh' content=2;reservation.php>");
    }

    else
        die ("Sorry, seat taken! <br />Redirecting...<meta http-equiv='refresh' content=2;reservation.php>");
    ?>

座席予約のスクリーンショットは次のとおりです。

リンク: [注: [ドット] を に変更] https://fbcdn-sphotos-a.akamaihd[ドット]net/hphotos-ak-ash3/599637_4018881323775_858410964_n.jpg

以下は、PC をクリックしたときのポップアップのスクリーンショットです。

リンク: [注: [ドット] を に変更] https://fbcdn-sphotos-a.akamaihd[ドット]net/hphotos-ak-ash3/599637_4018881323775_858410964_n.jpg

問題 : 挿入コードの適用は 1 台の PC、たとえば PC 05 でのみ機能します。上記のコードでは、テストとして PC 05 と PC 04 に挿入コードを適用しましたが、すべての PC に適用したいと考えています。しかし、PC 05 と PC 04 だけに適用しても機能しません。データベースでは、送信ボタンをクリックした後に挿入されるものは次のとおりです (注: room_id は部屋番号です)。

リンク: https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash3/527207_4018929644983_1759106011_n.jpg

各生徒は、この特定の教室の座席を予約する必要があります。Student.A が PC 05 を自分の席としてクリックすると、その席が確保されます。Student.B が自分の席として PC 01 をクリックすると、再び、彼のために予約されているはずです。複数の教室があり、そのために JQuery タブを使用しました。データベース内に入れたかったのはこれです(注:手動挿入のみ):

リンク: https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash4/376602_4018990806512_1150698954_n.jpg

あなたの返信は非常に高く評価されます、事前に感謝します!

4

2 に答える 2

0

まず、送信ボタンに名前を付けて、フォームが送信されたかどうかを確認できるようにします。

if($_POST['name_of_your_submit_button']){
  //mysql insert code here
}

また、挿入クエリでユーザーが入力したデータを実際に使用しているかどうかはわかりません。

$insert = mysql_query("INSERT INTO reservation (chair_status, room_id, chair_number) VALUES (0, 400, 5)");

print_r や var_dump などの debuggin 用のコードを使用して、いくつかの値を取得していることを確認してください。

print_r($_POST);
于 2012-07-07T14:16:19.220 に答える
0

あなたのコードは一種の不完全です。mysql_query単独で使用しないでください。データの挿入中にエラーが発生した場合に備えて、エラーをキャッチするか、出力を表示する追加のコードを含めます。

$insert = mysql_query("INSERT INTO reservation (chair_status, room_id, chair_number) VALUES (0, 400, 5)");

// I added the below lines to catch how many rows were inserted and if not, what error occured
$inserted_rows = mysql_affected_rows(); 

if ($inserted_rows !=0)
  echo 'Error occurred, through out error'. mysql_error();
于 2012-07-07T13:52:11.017 に答える