2012-07-07 3 views
1

첫 번째 게시물에는 명확하지 않았습니다. 그래서 여기 있습니다.데이터베이스에 필수 필드를 삽입하지 못했습니다.

LINK : [참고 :. 변화량 DOT] 내지]

reservation.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>'; 
             ?> 

reserve.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 [DOT] net/hphotos-ak-ash3/599637_4018881323775_858410964_n.jpg

LINK : [참고 : 변경 [DOT]에.] 은 https : //fbcdn-sphotos-a.akamaihd [DOT] 순/hphotos- 여기

는 PC를 클릭시 팝업의 스크린 샷입니다 AK-에 AsH3/599637_4018881323775_858410964_n.jpg

문제 : 삽입 코드를 적용하면 하나의 PC에서 위의 코드에서 예를 들어 PC 05., 내가하지만 내가 원하는 단지 테스트로 PC 05 및 PC 04에 삽입 코드를 적용 작동 모든 PC에서 적용 할 수 있습니다. 그러나 PC 05와 PC 04에만 적용하면 효과가 없습니다. (: room_id 방 번호입니다 참고) : 데이터베이스에서 제출 버튼을 클릭 한 후,이 삽입 유일한 물건은

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

은 각 학생이 특정 교실에서 좌석을 예약해야합니다. Student.A가 PC 05를 자신의 자리로 클릭 할 때, 그를 대신해야합니다. Student.B가 PC 01을 자신의 자리로 클릭하면 다시 그를 위해 예약되어야합니다. 여러 개의 교실이 있는데, 저는 JQuery 탭을 사용했습니다. 내가 데이터베이스 내부에 가지고 싶어하는 것은이 (참고 : 수동 삽입 만 해당)이다

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

귀하의 응답이 높게 평가 될 것입니다 사전에 감사합니다!

+0

전체 코드입니까? 나는 당신의 SQL 문에서'student_name'과'student_id'를 찾지 못한다. – Lion

+0

이것은 바로 테이블입니까? 나는 어떤 고리를 보길 기대하지만 나는 아무것도 보지 못한다. 코드를 분리 해 주시겠습니까, 아니면 그냥 팝업 부분에 주석을 달아 주시고 테이블에 대한 코드를 넣으시겠습니까? 다소 혼란 스럽기 때문입니다.또한 코드를 주석 처리하여 실제로 사용하지 않는 코드를 제거 하시겠습니까? –

+0

OP가 [this one] (http : // stackoverflow)으로 바뀌 었으므로 아마이 코드를 사용하지 않는 것이 좋습니다. .com/questions/11685713/insert-in-the-database-part-2). – halfer

답변

0

코드가 불완전합니다. 자체적으로 mysql_query을 사용하지 마십시오. 데이터를 삽입하는 중에 오류가 발생하면 오류를 포착하거나 출력을 표시하는 추가 코드를 포함하십시오.

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)"); 

// 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(); 
0

우선은 제출 버튼에 이름을 부여

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

당신이 인 print_r 또는 위해서 var_dump

처럼 debuggin에 대한 코드를 사용하여 일부 값을 받고 있는지 확인 : 사용자의 제작 사용하여 삽입 쿼리에서 데이터를 입력
print_r($_POST); 
관련 문제