0

5秒ごとにテーブルを更新したい。

今私はこのコードを使用しています:

<script type="text/javascript">
    $(document).ready(function(){
      refreshTable();
    });

    function refreshTable(){
        $('#content').load('refresh_data_dapur.php');
        setTimeout(refreshTable, 5000);
    }
</script>

refresh_data_dapur.php

$sql = "select t.no_meja, d.nama_menu,d.jumlah,t.status from detail_transaksi d join transaksi t on(d.id_transaksi=t.id_transaksi) where t.status ='pending' and d.status_menu = 'pending'";
$result = mysql_query($sql);
                    echo '<table cellpadding="5" cellspacing="0" border="1">';
                    echo '<tr>';
                    echo    '<th>No Meja</th>';
                    echo    '<th>Nama Menu</th>';
                    echo    '<th>Jumlah</th>';      
                    echo    '<th>Status</th>';      
                    echo '</tr>';
                    while($detail_transaksi = mysql_fetch_array($result))
                    {
                    echo    '<tr>';
                    echo    '<td>';
                    echo    $detail_transaksi['no_meja'];
                    echo'</td>';
                    echo    '<td>';
                    echo $detail_transaksi['nama_menu'];
                    echo '</td>';
                    echo    '<td>';
                    echo $detail_transaksi['jumlah'];
                    echo '</td>';
                    echo    '<td>';
                    echo $detail_transaksi['status'];
                    echo '</td>';
                    echo  '</tr>';
                    }

私のhtmlで:

<div id="content">

</div>

ページを読み込もうとしても何も表示されません...

HTMLでこのコードに変更すると、データは表示されますが、テーブルはまだ更新されていません...

<div id="content">
    <?php include("refresh_data_dapur.php");?>
 </div>

どうすればこれを修正できますか?

4

1 に答える 1

3

ここではすべて問題ありません。しかし、あなたは使用していますsetTimeout(refreshTable, 5000);refreshTableページが読み込まれてから 5 秒後に関数が 1 回実行されます。あなたが使用している必要があります

setInterval(refreshTable, 5000);

代わりは。refreshTableこれは5秒ごとに実行され、宣言される前にsetTimeoutで使用しているため、関数の外側と後に保持されます。それが原因かもしれません。

于 2012-12-02T07:51:28.303 に答える