Я не совсем уверен, как именно у вас есть эта настройка, но она не кажется правильной:
- Создайте файл, который содержит только код php, и этот файл будет возвращать объект json, который будет содержать последние новости; Вы будете анализировать объект на стороне клиента. Ниже приведен пример того, как будет выглядеть ответ этого php-файла.
newsFeed.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);
?>
- Второй файл будет содержать и feed.php, и остальную часть ajax.php. Когда вы выполняете вызов ajax для обновленных новостей, недавно созданный php-файл ответит объектом json, который вы проанализируете и зададите значения таблицы с ее актуальным содержимым.
index.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>
Я не проверял это, но это общая идея, как это должно работать. index.php - это место, где будет находиться пользователь, каждый интервал, который мы собираемся выполнить updateNews, и эта функция отвечает за вызов newsFeed.php через AJAX. newsFeed.php отвечает за запрос к базе данных и отвечает с помощью объекта json, который содержит всю новостную информацию. Как только updateNews () получает ответ от newsFeed.php, он перебирает объект JSON и добавляет содержимое ответа в div.
Надеюсь, что это имеет смысл.