0

この構造のPHPページがあります。

<?php
include 'header.php';
include 'content.php';
include 'footer.php';
?>

header.phpには、データベース内のいくつかの行をカウントする関数があります。

$show =$mysql->count('someparam', $foo['bar']);
   if ($show > 0) {
       echo $show;
   }

それはすべて良いです。これで、content.phpファイルで、ユーザーは$showヘッダーのこの値を変更する操作を実行できますが、更新された番号を確認するには、ページをリロードする必要があります$show

JavaScriptでこれを解決したいのですが、どうすればいいのかわかりません。

次のように、タイマーでJavaScriptをリロードして解決してみました。

<script>
function render (){
    $('.customer-database').html(.customer-database)
}
window.setInterval(render, 500);
</script>

$showカウンターはdivクラス内にありますcostumer-database。HTMLの後にHTMLコードを挿入する必要があるため、これは機能しませんが、HTMLコードを挿入したくありません。単にリロードしたいだけです。これは可能ですか?

JavaScriptとPHPの両方での提案を受け付けています。

4

4 に答える 4

1

できることは、別のPHPファイルへのAJAXリクエストです。別のPHPファイルには、コードのような数値を返すコードが含まれています。

$show =$mysql->count('someparam', $foo['bar']);
   if ($show > 0) {
       echo $show;
   }

jQueryを使用してAJAX呼び出しを作成する際のヘルプについては、 http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/を参照してください。

于 2012-10-01T12:52:33.080 に答える
1

置き換えたいコンテンツ領域の名前/IDがわかっている場合は、jquery ajaxリクエストを挿入して、ページの一部のみをリロードするのは非常に簡単です。すでにjqueryライブラリが含まれていると仮定すると、このjavascriptチャンクを使用できます

path = "/path/to/my/action/"
$.ajax({
    url : path,
    success : function(response) {
        $('.customer-database').replaceWith(response);
    },
    error : function(xhr) {
        alert('Error!  Status = ' + xhr.status);
    }
}); 

次に、基本的にカウントのみを提供するアクションを記述し、そのアクションを要素にリロードできます。アクションは、任意のカウント+htmlで応答します。

于 2012-10-01T12:54:44.450 に答える
1

これは機能するはずです:

function render (){
    $('.customer-database').parent().load('myscript.php .customer-database');
    ^                              ^ ^     ^          ^ ^                ^ ^
    |   select the container in    | |     |   url    | | select content | |
    |   which to reload content    | |     | to your  | |  to put in the | |
    |______________________________| |     |   page   | |    container   | |
                                     |     |__________| |________________| |
                                     | send ajax call and replace content  |
                                     |_____________________________________|
}
于 2012-10-01T12:55:46.193 に答える
0

他の人が説明しているように、あなたはajaxを使いたいと思っています。そして、jQueryはこれが非常に得意です。jQueryを使用すると、

//whatever you do to change the $show value as a trigger, maybe a click?
$(".show_value_button").click(function(){
  $("#header_div_id").load("header.php");
});
于 2012-10-01T13:02:05.497 に答える