Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обновление части страницы, вывод времени. (https://javascript.ru/forum/misc/15043-obnovlenie-chasti-stranicy-vyvod-vremeni.html)

(Sandr) 10.02.2011 22:48

Обновление части страницы, вывод времени.
 
Помогите с двумя вопросами пжл..
1)
Есть страница в опредилённой части которой из бд выводятся 10 последних сообщений. Вот часть кода страницы отвечающая за вывод:
$res = mysql_query("SELECT * FROM `mes` WHERE `id`='$id' ORDER BY `id` ASC LIMIT 0,10");
while($array = mysql_fetch_array($res))
{
echo '<b>'.$array['name'].'</b><br>'.$array['message'].'<br>';
}
Подскажите пжл, как сделать автообновление именно этой части страницы за какое-то опредилённое количество секунд? Количество секунд содержится в переменной $s . Понимаю, что сдесь не только js но и php+mysql, и если я нарушил правила, прошу сильно не бить :(

2) Как вывести время в виде часы:минуты:секунды в динамическом виде? И после того как время достигнет опредилённой "метки" то совершается какое-нибудь действие? Например, когда будет 12:00:00 то запускается нужная функция. Искал в сети насчёт этого примера, на многих сайтах.. из тех что я нашёл, везде описывается по разному.

(Sandr) 11.02.2011 20:14

Люди.. вы где?

Kolyaj 11.02.2011 22:42

Цитата:

Сообщение от (Sandr)
Люди.. вы где?

Людям надоело писать одно и то же для тех, кому лень искать и читать.

dmitriymar 11.02.2011 22:50

Цитата:

Сообщение от (Sandr)
Понимаю, что сдесь не только js но и php+mysql?

точнее полное отсутствие javascript.но подскажу начало.сделай так чтобы $array['message']-присваивалось массиву созданному javascript и обновляй с использованием ajax. вариант 1
вариант 2 выводи их в iframe и обновляй его

x-yuri 12.02.2011 13:55

(Sandr), а что ты вообще пытаешься делать? Расскажи поподробнее

(Sandr) 12.02.2011 17:26

Цитата:

Сообщение от Kolyaj (Сообщение 92088)
Людям надоело писать одно и то же для тех, кому лень искать и читать.

Мне не лень искать. Я просто не знаю что искать.

(Sandr) 12.02.2011 17:27

Цитата:

Сообщение от dmitriymar
точнее полное отсутствие javascript

В моём примере да. Но в том то и дело, что мне его доделать на js нужно.

(Sandr) 12.02.2011 17:32

Цитата:

Сообщение от dmitriymar
сделай так чтобы $array['message']-присваивалось массиву созданному javascript и обновляй с использованием ajax. вариант 1

Вот я и интересуюсь как обновить с помощью ajax.

Цитата:

Сообщение от x-yuri
(Sandr), а что ты вообще пытаешься делать? Расскажи поподробнее

Я пытаюсь сделать "живой" вывод последних сообщений форума. Чтоб пользователь всё время не обновлял страницу полностью, а подождал, например 10 секунд и блок с новыми сообщениями обновился.

x-yuri 12.02.2011 18:09

если пользователь будет смотреть, как меняются сообщения... ему не нужен форум ;)

dmitriymar 12.02.2011 18:13

и фрейм и аякс подходят

(Sandr) 12.02.2011 18:58

В общем, как задать время обновления я понял, но вот как сделать запрос в нужное время? Можно ли как-то сделать запрос к бд на js, ajax или jquery?

dmitriymar 12.02.2011 20:25

можно только к серверному скрипту-какой обратится к б.д. и на форуме и через гугл инфы много найдёш

(Sandr) 12.02.2011 21:27

Цитата:

Сообщение от x-yuri (Сообщение 92184)
если пользователь будет смотреть, как меняются сообщения... ему не нужен форум ;)

Да не меняюся)) а показываюся новые.

(Sandr) 12.02.2011 23:05

Всё, с этим вопросом разобрался)) Но возник другой.. можно ли на js сгенерировать случайное число?

NoResponse 12.02.2011 23:21

Math.random()
http://www.w3schools.com/jsref/jsref_random.asp

(Sandr) 13.02.2011 14:52

Спасибо.

ntfs1984 21.07.2011 07:22

О это как два пальца об асфальт. Создаешь две страницы.
Первая страница:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; Charset=UTF-8">
<script type="text/javascript" src="jquery.js"></script>
</head>

<body>

<div id="content"></div>

<script>
function show()
{
$.ajax({
url: "action.php",
cache: false,
success: function(html){
$("#content").html(html);
}
});
}
$(document).ready(function(){
show();
setInterval('show()',1000);
});
</script>
</body>
</html>
Вторая страница: (action.php)
<?php
$date=date("H:i:s");
echo $date;
?>
Сохраняешь, запускаешь, и каждую секунду у тебя обновляется время. Разумеется в php скрипте можешь делать любые действия, разберешься сам. В том числе и запросы :)
Значение 1000 - скорость обновления.
Эта штука называется AJAX.
Если будут вопросы, пиши на скайп ntfs1984

(Sandr) 22.07.2011 16:05

ntfs1984,
Спасибо, конечно)) Но я уже давно разобрался с подобными вопросами)

ntfs1984 24.07.2011 19:07

А вот у меня похоже фейл :(

В общем принцип программы примерно такой: index.php

if ($_POST['update']) { // запускаем функцию проверки новых записей в БД
------------------
------------------
mysql функции, любые, можно даже без них, а просто echo "test123<br>";
------------------
<script>
function show()
{
type: 'POST',
url: 'index.php',
cache: false,
data: 'update=true',
success: function(html){
$("#content").html(html);
}
});
}
$(document).ready(function(){
show();
setInterval('show()',5000);
});
</script>
exit();
}

По логике, он должен обновлять текущую страницу (index.php, то есть саму себя) с промежутком в 5 секунд.
Но нихрена, не действует. Обновляет без перерыва, как будто функции setInterval не существует.


Часовой пояс GMT +3, время: 14:15.