php
  • jquery
  • mysql
  • ajax
  • .post
  • 2013-04-15 16 views 2 likes 
    2

    這是我的PHP code_

    if(isset($_REQUEST['show'])) 
    { 
         $con=mysqli_connect("localhost","root","","server_name"); 
    
         $show = mysqli_query($con, "SELECT * FROM name1 ORDER BY date DESC"); 
         $html=''; 
         while($showE = mysqli_fetch_array($show)) 
         { 
         $html.= '<h3>'.$showE['un_name'].'</h3>'; 
         $html.= '<div>'.$showE['un_name_dec'].'</div>'; 
         } 
         echo $html; 
         //End of while loop 
    
    } 
    

    這是jQuery的code_

    $.post('preprocessor.php', '&show=', function(data) { 
        $("#accordion").html(data); 
        $("#accordion").accordion({ 
         collapsible: true, 
         icons: { 
          activeHeader: "ui-icon-triangle-1-s", 
          header: "ui-icon-triangle-1-e" 
         } 
        }); 
        }); 
    

    這是body_

    <div id='accordion'> 
    </div> 
    

    我我沒有得到實時更新,一切正常,但Ajax的東西沒有工作......它工作,如果我刷新或重新加載頁面,但不是自己

    +0

    確保這裏http://api.jquery.com/event.preventDefault/ – elclanrs

    +0

    你重複調用查詢code_檢查? –

    +0

    是的它是一個循環 –

    回答

    0

    您要尋找的是setTimeout

    $("#accordion").accordion({ 
         collapsible: true, 
         icons: { 
          activeHeader: "ui-icon-triangle-1-s", 
          header: "ui-icon-triangle-1-e" 
         } 
        }); 
    setInterval(makePostCall, 15000); // decide interval to fetch new updates. 15 sec for example 
    
    function makePostCall(){ 
    $.post('preprocessor.php', '&show=', function(data) { 
        $("#accordion").html(data); 
    
        }); 
    } 
    

    但是,這不是做這種東西的正確方法。考慮使用Ajax Push Engine

    +0

    夥計它不工作,手風琴的效果工作正常,但它並沒有從數據庫中獲取實時更新(mysql) –

    +0

    jqueryajax,以實時的東西而聞名,但爲什麼它不工作,爲什麼每個人都使用其他的JavaScript代碼, –

    +0

    我已經更新回答。它現在應該工作。 – SachinGutte

    0

    您是否設置了間隔以在特定時間間隔內調用代碼?所有你需要做的是, 上加入JavaScript:

    setinterval(function(){/* do the post here */ },1000 /*this is time */); 
    
    +0

    它不會工作,因爲如果我這樣做手風琴效果將不起作用 –

    0

    它的工作原理,如果我刷新或重新載入頁面,但本身不是

    爲此,您需要使用setInterval();功能,將檢查這是考慮每一個特定時間段:

    setInterval(function(){ 
         $.post('preprocessor.php', '&show=', function(data) { 
         $("#accordion").html(data); 
         $("#accordion").accordion({ 
            collapsible: true, 
            icons: { 
            activeHeader: "ui-icon-triangle-1-s", 
            header: "ui-icon-triangle-1-e" 
            } 
         }); 
         }); 
        },5000); //<---- runs every 5000 ms 
    

    這將運行每5秒鐘就會更新#accordion股利。

    +0

    我複製此代碼,但實時更新即將到來,但手風琴沒有形成(手風琴效果不起作用) –

    0

    嘗試:

    $.post('preprocessor.php', {show:''}, function(data) { 
    $("#accordion").html(data); 
    $("#accordion").accordion({ 
        collapsible: true, 
        icons: { 
         activeHeader: "ui-icon-triangle-1-s", 
         header: "ui-icon-triangle-1-e" 
        } 
    }); 
    },'html'); 
    
    +0

    它不工作_ –

    相關問題