php
  • jquery
  • mysql
  • ajax
  • .post
  • 2013-04-15 27 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

    它不工作_ –

    相关问题