2011-12-10 4 views
2

チケット情報システムに使用されているニュースフィードがあります。ニュースフィードの効果はFacebookのニュースフィードと同じで、フェッチする新しいコンテンツがある場合にのみデータを取得します。PHP/jQueryニュースフィードへのクエリ結果の適用

JSON関数で使用される多次元配列にSQLクエリ結果を適用して、ニュースフィードに追加する追加コンテンツを返す場所を理解することに問題があります。

feed.php

<? php 
    $array_with_news = array(
     'news1' => array('pk' => 'pk1', 'title' => 'title1', 'content' => 'title2'), 
     'news2' => array('pk' => 'pk2', 'title' => 'title2', 'content' => 'content2') 
    ); 
    echo json_encode($array_with_news); 
?> 

main.php

<html> 
    <head> 
     <script type="text\javascript"> 
      window.setInterval(function() { 
       updateNews(); 
      }, 5000); 


      function updateNews() { 
       var scope = this; 
       $.getJSON('newsFeed.php*', function(data) { 
        //data will contain the news information 
        $.each(data, function(index, value) { 
         this.addNewsRow(value); 
        }); 
       }); 
      } 

      function addNewsRow(newsData) { 
       //this function will add html content 
       var pk = newsData.pk, title = newsData.title, content = newsData.content; 
       $('#news').append(pk + ' ' + title + ' ' + content); 
      } 
     </script> 
    </head> 
    <body> 
     <div id="news"></div> 
    </body> 
</html> 

この

PKのようになりますフィード情報を含むテーブル、タイトル、カテゴリ:ここでは以下のコードがあります、内容量

また、フェッチする必要がある場合にのみ、新しいデータをフェッチします。

答えて

0

頼んでいるものは正確ではありませんが、SQL結果をJSON配列に取得する方法を知りたいと思っています.2位では、更新を取得するだけです。ここに私のテイクがそれ

feed.php

// store the last updated time in the db, get it here 
$last_update = $user->get_last_update(); 

// obviously, this probably has a lot more logic 
$sql = "SELECT * FROM news WHERE post_time > $last_update"; 
$news = array(); 

while($row = query($sql)) 
{ 
    $key = 'news'.count($news); 
    $news[$key] = array(
     'pk' => $row->pk, 
     'title' => $row->title, 
     'content' => $row->content 
    ); 
} 

echo json_encode($news); 

query('UPDATE users SET last_update_time=now()'); 

は、擬似コードとしてこの多くを取る上だ - あなたのコードが流れるべきかを確認します。私がその質問を誤解した場合、私は私の答えを修正するでしょう。

関連する問題