2012-04-20 8 views
0

私のWebページにコメントボックスを使用し、ユーザー入力コメントを保存しました。今私が望むのは、AJAXを使ってそれらを表示することです。私は1つずつコメントを得るためにjavascriptタイマーを設定しました。しかし、AJAXを使ってデータを取得する方法はわかりません。これはPHPファイルですAJAXを使用してデータベースからデータを受け取る方法

<?php 
$link = mysql_connect("localhost","root",""); 
mysql_select_db("continental_tourism"); 
$query = "SELECT comment_id from comment"; 
$result = mysql_query($query); 
$counter = 0; 
while ($row = mysql_fetch_assoc($result)) 
{ 
$counter++; 
} 

$comment_number = rand(1,$counter); 
$query_comment = mysql_query("SELECT * FROM comment WHERE comment_id = '$comment_number'"); 
if (!$query_comment) { 
die('Invalid query: ' . mysql_error()); 
} 
while($result_comment = mysql_fetch_array($query_comment)) { 

echo $result_comment['comment']; 

} 
?> 

以下は、メインファイルのスクリプト部分です。

function timeMsg() 
{ 
var t=setTimeout("show_comment()",3000); 
} 

function show_comment(){ 

} 

どのようにAJAXコードを?

関数show_comment()

誰かが線でAJAXコード行を説明することができる場合、私は完全な素晴らしいことでしょう。

+1

JQueryについてはどうですか? – rkosegi

+1

あなたが必要とするもの:http://api.jquery.com/jQuery.ajax/ – p0rter

+0

まず最初に何かを試してみてください。多くの例がありますが、jQueryを使っても最高です。 –

答えて

2

あなたはすべてのPHPスクリプトを別のPHPファイル(getdata.phpと言う)に移動し、そのファイルにajax関数を使用して、index.phpというデータを表示する必要があります。 (これは使いやすいコード用です)。あなたのindex.phpファイルは次のようになります

<html> 
    <body> 
    <div id="comments"></div> 
    </body> 
    <script src="include/jquery.js" type="text/javascript"></script> 
    <script type="text/javascript> 
    function show_comments() { 
     $.ajax({ 
      url:getdata.php 
      success:function(data){ 
       $("#comments").append(data); 
      } 
     }); 
    </script> 
</html> 

jqueryのjquery.ajax関数を使用しています。これはどのようにこれを行うことができるいくつかのヒントです。私はそれがあなたの仕事を達成するのに役立つことを願っています。

+0

divにコメントを表示する必要があります。これは同じindex.phpにあります。どうやってやるの? – Ravindu

+0

function timeMsg() { var t = setTimeout( "show_comment()"、3000); } 関数show_comments(){$ アヤックス({ URL: "show_comment.php"、 成功:機能(データ){ $( "#コメント")。追加(データ); } }); – Ravindu

+0

私はonload()を使用できますか? – Ravindu

1

URLとしてPHPスクリプトへのリンクを使用して、jQueryの.get()メソッドを使用します。それはあなたのPHPスクリプトを呼び出す必要があり、あなたのスクリプトは出力をエコーする必要があります。

json_encode出力をPHPスクリプトから出力してからエコーするとよいでしょう。

そして私は、代わりにこれを行うことを考える -

$query = "SELECT comment_id from comment"; 
$result = mysql_query($query); 
$counter = 0; 
while ($row = mysql_fetch_assoc($result)) 
{ 
$counter++; 
} 

あなたがSELECT COUNT(comment_id) from commentを照会し、カウントを取得することができます。

+0

しかし、私の.phpファイルには、私が使ったechoコマンドがいくつかあります。だから私はコメントを表示するには、私が必要な正しいものを選択することができますか? – Ravindu

+0

AJAXで使用するには、エコーに注意する必要があります。すべてのデータを配列 'json_encode()'に入れて、その文字列をエンコードしてエコーすることをお勧めします。 jquery部分では、受け取った 'data'はjson文字列でなければなりません。デコードして使用することができます。 –

+0

上記の問題を解決する別の.phpを作成しました。今、次の問題は、divでこれをどのように置き換えることができるかです。 – Ravindu

関連する問題