Ajax - PHP автоматически обновляет зацикленные данные, не переопределяя все - PullRequest
0 голосов
/ 22 марта 2011

Из зацикленных данных я хотел бы автоматически обновлять только данные, извлеченные из базы данных, а не весь макет.В настоящее время я зацикливаю весь макет, но это выглядит несколько неуклюже (эта таблица является упрощенным примером).Некоторые направления или советы приветствуются!

<?
//.. rawdata.php ..//
while($row = mysql_fetch_array($result)) {
//building table by looping
?>
 <tr>
   <td><? echo $row['uniqueid']; ?></td>
   <td><? echo $row['firstname']; ?></td>
   <td><? echo $row['surname']; ?></td>
</tr>
<?
}
?>

<!-- index.php -->
<script type="text/javascript"> 
  var auto_refresh = setInterval(function() {
    $('#loadRawData').load('rawdata.php');
    }, 5000);
</script>
<!--...-->
<div id="loadRawData"></div>

1 Ответ

0 голосов
/ 22 марта 2011

Если вы только обновляете или добавляете записи, вы можете добавить столбец «версия» в вашу таблицу.Каждый раз, когда вы обновляете или вставляете новую строку, вы увеличиваете версию и добавляете ее в строку.

Вы передаете версию клиенту (это MAX в версии столбец).Когда клиент выполняет свой запрос «обновить», он отправляет вам версию, которую он в последний раз скачал, и вы просто отправляете строки, которые проверяют условие, такое как WHERE version > clientVersion.

Будет сложнее, если строки могут бытьудален, потому что в этом случае вам нужно будет отслеживать удаленные строки в таблице, чтобы перенаправить операции «удаления» клиентам.Но вы можете управлять ими с помощью того же механизма «версии».

...