2012-01-23 2 views
0

以下、テキストボックスに入力された部屋番号がデータベースにあるかどうかを確認するPHPコードがあります。客室番号がデータベースに存在しないかどうかを確認する方法

<?php 

$room_there = true; 

while($room_there){ 
$roomresult = mysql_query("SELECT Room FROM Room WHERE Room = " . (int) $_POST['roomChosen']); 
if (mysql_num_rows($roomresult) == 0) 
    $room_there = false; 
}; 
?> 

<p><strong>Room:</strong> <input type="text" id="room" name="roomChosen" /><br/><span id="roomAlert"></span></p>  <!-- Enter Room here-->  

ここで私が知りたいのは、どのようにしてこのようなvlaidationを作成するかです。私の検証はjavascriptで動作し、それが満たされた場合、「部屋番号が無効です」などのメッセージが表示され、それ以外の場合は表示されません。 データベースにない客室番号が満たされているかどうかを検証するにはどうすればよいですか?部屋番号のテキストボックスは、私は私の検証メッセージを表示する方法を示すために空の場合

以下

は私の検証の例である:

function validation() { 

     var isDataValid = true; 

     var roomTextO = document.getElementById("room"); 

    //this retrieves an element from the textbox where user enters in a room number 

     var errRoomMsgO = document.getElementById("roomAlert"); 

    // this is where the alert message appears for validation 



    if (roomTextO.value == "") { 
      errRoomMsgO.innerHTML = "Please Enter in a Room Number"; 
      isDataValid = false; 
    } else if (!trimmedRoomText.length) { 
      errRoomMsgO.innerHTML = "Please Enter in a Room Number"; 
      isDataValid = false;  
    } else { 
     errRoomMsgO.innerHTML = ""; 
    } 

} 
+1

部屋がデータベースに存在する場合、確実に 'while()'は無限に続くでしょうか? –

答えて

3

は、PHPのメソッドの戻り値のJSONデータを作成し、その後、JavascriptをAjax呼び出しを実行していますその価値を得る。 jQueryの$ .ajax()メソッドは、このタイプのPHPとのやりとりに本当に使いやすいです。

ajax呼び出しがtrueを返す場合は、検証が成功したことをユーザーに示すjavascriptを実行します。falseの場合は、javascriptを使用して無効であることを示します。

+0

私はお詫びしますが、前にajaxを使ったことはありません。あなたが望むサンプルコードで何を挙げているかの例を提供できますか? – user1163005

+1

[jQuery.ajax](http://api.jquery.com/jQuery.ajax/)および[json_encode()](http://php.net/manual/en/function.json-encode.php) –

+0

簡単なWeb検索では、jquery ajax呼び出しを処理する方法の例がたくさんあるはずです。コールバックメソッドを作成し、それを検証メソッドによって起動されたajax呼び出しに登録したいと思うでしょう。 "myserver.com/page.php?room=10"のように見えるGET引数を使用してWebサーバーに引数を渡し、server/phpは{"room_id": "10 "、" valid ":" true "}。両方の方法で部屋番号を把握することをお勧めします。 – jasonmclose

関連する問題