2011-12-10 16 views
2

我有一個正用於票務信息系統的新聞源。新聞提要的效果與Facebook的新聞提要完全相同,只有當有新內容被提取時纔會提取數據。將查詢結果應用到PHP/jQuery新聞源

我在理解將SQL查詢結果應用到多維數組中的問題,該多維數組將用於JSON函數以返回要添加到新聞Feed中的附加內容。下面是代碼如下:

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()'); 

利用這種更作爲僞碼 - 看你的代碼應該如何流動的。如果我誤解了這個問題,我會修改我的答案。