Обновление без перезагрузки при изменении данных в поле БД
Собственно тема содержит весь вопрос
Есть БД images(id, img, time) Вопрос состоит в том как обновить блок div на странице при изменении в БД поля time Просто очень плохо знаю AJAX Нагуглил, что нужно пользоваться Long-Polling, но как это делать не смог разобраться |
Цитата:
http://habrahabr.ru/post/128535/ |
на это натыкался, но статья просто как на php написать этот метод. Про БД ничего не сказано. Да и про обновление без перезагрузки
|
Цитата:
|
Sn9,
по сути можно обойтись и без Long-Polling в том понимании как он есть. Например как можно организовать чат на странице - это посылать запросы с клиента и, если есть новости получать их. Если клиент получая страницу имеет время Т для ID записи, то запросы клиента, это проверять время Т на сервере, и если оно не равно Т, то обновить информацию в DIV. |
Цитата:
Цитата:
|
Я поковырялся и сделал, но криво
Файл со скриптом
<script>
function show()
{
$.ajax({
url: "run.php",
cache: false,
success: function(html){
$("#content").html(html);
}
});
}
$(document).ready(function(){
show();
setInterval('show()',1000);
});
</script>
А в run.php запара:
if ( isset( $_GET['id'] ) ) {
// Здесь $id номер изображения
$id = (int)$_GET['id'];
if ( $id > 0 ) {
$query = "SELECT * FROM video_observation WHERE `id`=".$id;
// Выполняем запрос и получаем файл
$res = mysql_query($query);
if ( mysql_num_rows( $res ) == 1 ) {
$image = mysql_fetch_array($res);
// Отсылаем браузеру заголовок, сообщающий о том, что сейчас будет передаваться файл изображения
header("Content-type: image/*");
// И передаем сам файл
echo $image['im'];
}
}
}
?>
<img src="run.php?id=1" alt="" width="200px"/><br><br><br>
<img src="run.php?id=2" alt="" width="200px"/><br>
Немного переименовал БД саму теперь таблица video_observation(id, im, timeRecord) Вот выводит только само изображение, а как сделать, что бы выводило из поля timeRecord текст? |
Цитата:
Цитата:
|
Цитата:
run.php
$sql = "SELECT * FROM $tbl_name"; //выборка всего
$result = mysql_query($sql) or die(mysql_error());
while ($rows = mysql_fetch_array($result)):
echo 'формат изображения в пикселях: '.$rows['formatImage']. '<br>';
echo 'время снятия изображения: '.$rows['timeRemove']. '<br>';
echo 'время занесения снимка в базу в миллисекундах: '.$rows['timeRecordMillisec']. '<br>';
echo 'время занесения снимка в базу в нормальном формате: '.$rows['timeRecord']. '<br><br><br>';
/*ВОТ ЗДЕСЬ НЕ ЗНАЮ КАК ВЫВЕСТИ ИЗОБРАЖЕНИЕ ИЗ BLOB-поля*/
?>
<? endwhile; ?>
|
Цитата:
|
| Часовой пояс GMT +3, время: 22:07. |