-1

私は9つの異なるdivを持つphpページを持っています。これらのdivは、mysqlデータベースからページがリロードされるたびに更新されます。ページ全体を更新せずに自動的に実行したい。出来ますか?これはAjaxで実行できることは知っていますが、どのように実行するのかわかりません。誰かがそれに関する良いチュートリアルを教えてもらえますか?

4

2 に答える 2

1

jQueryでこれを行うための簡単で効果的な方法があります:

概要:ajax呼び出しを指示するスクリプトで、データベースにクエリを実行し、divタグ内で置き換えたい更新されたHTMLをエコーアウトします。その後、divhtmlを内部の無名関数で返されたhtmlに置き換えるだけです。成功パラメータ:

JavascriptファイルでのAjax呼び出し

//wrap up your data in a GET style string seperated by ampersands (&)
var dataString = foo=1234&bar=12345

$.ajax({
  type: "POST",
  url: ajax.php,
  data: dataString,
  success: function(html) {
    $("#refresh_div").html(html);
},
  dataType: dataType
});

次に、「ajax.php」で、$_POSTスーパーグローバルを介してPHPスクリプトに送信したばかりの変数にアクセスします。

$foo = $_POST['foo'];
$bar = $_POST['bar']

$mysqli= new mysqli($params);
$stmt = $mysqli->prepare("SELECT * FROM myTable WHERE id=?");
$stmt->bind_param('i',$foo);
$stmt->execute();
$stmt->bind_result($result);
$stmt->fetch();
$stmt->close();

echo $result

エコーアウトされたすべてのtext/htmlは、htmlvarとしてajaxsuccessparamに戻され、divsの内容をjqueryに置き換えることができます。

お役に立てれば。

于 2013-02-07T11:09:12.797 に答える
1

私があなたの質問を正しく理解していれば

window.setInterval(function(){
  // call your function here
  // make tha ajax call here to update the divs
  // this function will run every 5 secs and will make the AJAX call
  // write the function here to update the divs
}, 5000);

以下を読む

PHP を使用した jQuery Ajax POST の例

Ajax リクエストでページ全体を更新する

IDを持つdivのAjax更新

ページを常に更新したくない場合は、div を更新する AJAX 呼び出しを行うだけです。

于 2013-02-07T11:04:40.307 に答える