2012-03-16 9 views
0

データベースをクエリし、そのデータベースからWebページのフィールドにエントリをアップロードしたいと思います。しかし、現在私が知っている唯一の方法は、PHPでクエリを実行し、読みやすい方法でページに印刷し、そのページをajaxで読み込んでHTMLを解析するというWebページを作成することです。それは非常にラウンドアバウトなやり方のように思えます。私はもっと直接的なことができますか?MySQLクエリのデータをjQueryでページにロード

明確にするために:私はドロップダウンメニューがあります。

<select name="items" id="items" size=[php variable] onChange="javascript:updatePage()"> 
    <option value="[database entry ID]">[php variable]</options> 
    <option value="[database entry ID]">[php variable]</options> 
<textarea name="stuff" id="stuff"> 
</textarea><br> 

をそして後で私が持っているでしょう:

<script src="jquery.js"></script> 
<script> 
    function updatePage() 
    { 
     var itemToLoad = $('#items').val(); 
     $.ajax({ 
      type: "POST", 
      url: 'updatepage.php', 
      data: "itemtoload=" + itemToLoad, 
      success: function(data) { 
       var stuff = data; 
       stuff = parseWhatINeed(stuff); 
       $('#stuff').text(stuff); 
      } 
     }); 
    } 
</script> 

をそしてupdatepage.phpないMySQLのクエリ、およびparseWhatINeed機能データ変数のhtmlから必要なものを解析します。これについてもっと良い方法がありますか?

+1

いいえ、あなたはAJAXを使用して頭の爪に当たっています。あなたがやろうとしていることについて話している記事がここにあります:http://stackoverflow.com/questions/2256310/directly-accessing-server-database-via-ajax-without-php-or-some-other-中間 –

答えて

0

PHPを使用してページをレンダリングするのではなく、 PHP出力にjsonを使用して解釈できるJSON文字列を出力します。 JSONを使用すると、必要なすべてのデータを格納するオブジェクトを返すことができます。レンダリングされたHTMLを転送する場合よりも、JSON文字列を転送するのに必要なリソースと帯域幅が少なくて済むため、このメソッドは通常より優れています。

0

データベースからフェッチしたデータからJSONオブジェクトを作成し、Ajaxコールの応答として返すのはなぜですか?次に、JavaScriptを使用してこれらの値をHTML。それはより速く、トラフィックを減らします。

関連する問題