2011-12-10 2 views
2

티켓 발급 정보 시스템에 사용되는 뉴스 피드가 있습니다. 뉴스 피드의 효과는 Facebook의 뉴스 피드와 동일하며 가져올 새로운 컨텐츠가있는 경우에만 데이터를 가져옵니다.PHP/jQuery 뉴스 피드에 쿼리 결과 적용

SQL 쿼리 결과를 다차원 배열에 적용하여 JSON 함수에서 뉴스 피드에 추가 할 추가 콘텐츠를 반환하는 데 사용할 위치를 파악하는 데 문제가 있습니다.

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

정확히 무엇을 묻고 싶지만, JSON 배열로 SQL 결과를 얻는 방법을 알고 싶고, # 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()'); 

이 사이비 코드로이 더 걸릴에의 - 코드의 흐름 방법을 참조하십시오. 내가 그 질문을 잘못 이해한다면 나는 나의 대답을 개정 할 것이다.

관련 문제