我有一个用于票务信息系统的新闻Feed。新闻源的效果与Facebook的新闻源相同,只有在有新内容被提取时才会获取数据。
我在理解将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>
包含Feed信息的表格将如下
pk,标题,类别,内容
另外,我只想获取需要获取的新数据。
答案 0 :(得分: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()');
将此更多地视为伪代码 - 以查看代码应该如何流动。如果我误解了这个问题,那么我会修改我的答案。