2011-01-14 5 views
1

これで、人々が食品アイテムを入力するこの検索ボックスがあります。彼らがボタンを押すと、その入力が.phpファイルに送られる必要があります。そのPHPファイルは、その食品アイテム(私のデータベースのもの)のカロリーを調べ、食品アイテム名とカロリーを出力します。これらはすべてページをリロードせずに済むので、JQueryの仕組みを理解し始めました。JQueryを使用してデータベースの行の残りの部分を取得する

私は固まっていますjquery関数のデータフィールドには何を入れるべきか、そして.phpファイルのデータをどのように '捕捉'するのか分かりません。誰かが私にアイデアを与えることができますか?ありがとう! (私が理解していないものについては??????を参照)。また、戻ってきたデータは、最後にアラートボックスに入る必要はありませんが、ページの一部のテーブルを更新する必要があります。どうすればいいですか?どのJSON(?)Jquery関数が必要ですか?

私が今まで持っている:頭の中で

<script type="text/javascript"> 
function contentDisp() 
{ 

$.ajax({ 
    type: 'POST', 
    url: 'getFood.php', 
    data: '????????', 
    success: function(data){ 
    alert("Data Loaded: " + data); 
    } 

}); 

} 
</script> 

と体内で:

<form autocomplete="off"> 
     <p> 
      Product: 
      <input type="text" name="food" id="food" class="food_name_textbox" onmouseover="javascript: this.className='food_name_textbox_mouseover';" onmouseout="javascript: this.className='food_name_textbox';"/> 
     </p> 
     <button id="zoek" type="button" onClick="contentDisp();">Zoek</button> 
    </form> 

とgetFood.phpで:

<?php 
require_once "config.php"; 
$id = "??????" 
$result = mysql_query("SELECT * FROM voedingswaarden WHERE voedsel='$id'"); 
$row = mysql_fetch_array($result); 

echo json_encode($row); 

?> 

答えて

1
$.ajax({ 
    type: 'POST', 
    url: 'getFood.php', 
    data: {'foodnametextbox' : $('#food').val() }, 
    datatype: "json", 
    success: function(data){ 
    $('#table').html(data); 
    } 
}); 

<?php 
require_once "config.php"; 
$id = $_POST['foodnametextbox']; //escape and validate this input before using it in a query 
$result = mysql_query("SELECT * FROM voedingswaarden WHERE voedsel='$id'"); 
$row = mysql_fetch_array($result); 

echo json_encode($row); 

?> 
+0

ありがとう、何時間も試していたが、今は動作する!! – Javaaaa

+0

注:投稿データの検証とエスケープを忘れてはいけません。エスケープする共通の関数は 'mysqli_real_escape_string()'です。 –

1
<script type="text/javascript"> 
function contentDisp() 
{ 
var textSearch = $("#myText").text(); 

$.ajax({ 
    type: 'POST', 
    url: 'getFood.php', 
    data: textSearch, 
    success: function(data){ 
    alert("Data Loaded: " + data); 
    } 

}); 

} 
</script> 

PHP:

$id = $_POST['textSearch']; 
+0

素敵!投票のおかげで、なぜ投票したのか教えてくれてありがとう。 – benhowdle89

+0

申し訳ありませんdownvoteは私からでした。ここに私のフィードバックがあります。 1.表示されたhtmlにid mytextは存在しません。 2. val()の代わりにtext()を使用することは入力要素にとっては役に立たない。 3.要求内のデータを解析する有効な方法はありません。 4.データをテーブルに解析する方法は示されていません。 5.エスケープポスト変数はありません。 –

関連する問題