2014-04-25 52 views
0

我正在尋找最簡單的方法來自動更新下面的每X秒淡入新的結果和淡入淡出取出舊的結果。自動更新一個HTML/PHP表淡入新的結果並淡出舊的結果使用AJAX/Javascript/jQuery

我在網上搜索,但我發現的一切都非常複雜,所以我想知道什麼纔是最簡單的方法來實現這一目標?

<?php 

    error_reporting(E_ALL); 
    ini_set('display_errors', 1); 

    include('core/connection.php'); 

    if($conn){ 

    $stid = oci_parse($conn, " 

    SELECT OrderNo, InvoiceNo 
    FROM Orders 
    WHERE rownum <= 5 
    ORDER BY rownum DESC 

    "); 
    oci_execute($stid); 

    echo "<table class='table table-hover '> 
     <thread> 
     <tr> 
     <th>OrderNo</th> 
     <th>InvoiceNo</th> 
     <th></th> 
     </tr> 
     </thread> 
     <tbody>"; 

    while ($row = oci_fetch_array($stid, OCI_ASSOC)) { 

    echo "<tr>"; 
    echo "<td>" . $row['OrderNo'] . "</td>"; 
    echo "<td>" . $row['InvoiceNo'] . "</td>"; 
    echo "</tr>"; 
    unset($row); 

    } 

    echo "</tbody> 
     </table>"; 

    oci_free_statement($stid); 
    oci_close($conn); 

    } 

    ?> 
+0

這不是一個操作PHP可以單獨完成。你需要包含一些JavaScript。看看[jQuery](http://jquery.com) –

回答

1

您需要使用AJAX,這是加載新數據而不刷新頁面的唯一可行方式。你所描述的是AJAX的常見用法,網上有很多教程,所以我不打算重新發明輪子。

This is one,我發現,教你如何加載數據,並在製作動畫。

0
function getNewData(){ 
    //hide the original data 
    $('.table.table-hover').hide(500, function(){ 
     var $this = $(this); //cache reference to the original table 
     $.ajax({ 
      type: 'GET', //get or post request 
      url: '/path/to/my/script.ext', //path to your script 
      success: function(data){ //if no issues performing the request 
       $this.replaceWith(data); //replace the original table with the new table data 
      } 
     }); 
    }); 
} 
setTimeout(function(){ 
    getNewData(); 
}, 5000); //update every 5 seconds 
+0

感謝您的答案!因此,我應該將當前的代碼移到另一個文件中,然後在原始位置使用您的代碼,但將'script.ext'修改爲我移動到的任何位置? – user2656114

+0

@ user2656114幾乎,是的。 – Ohgodwhy

+0

這不適合我。我應該用代碼更新問題嗎? – user2656114