Вадене на резултати от базата данни бе рефреш на страницата.

Genius_m

Registered
Здравейте! Как мога да направя така че когато има нова информация в базата данни направо да се изкарва във сайта без рефреш на страницата.. Става дума за една чат система.. Когато някой напише нещо дане трябва да се рефрешва ами направо да се показва написаното от него. :)
 
слагаш инфото което искаш да се обновява в един div с id="reload" и в отделен файл с името reloadinfo.php примерно. После слагаш този jquery код в страницата в която ще се обновява (където е div-a)
Код:
<script type="text/javascript>
	function loadLog(){	
		$.ajax({url: "reloadinfo.php",cache: false,success: function(html){$("#reload").html(html); },});
	}
setInterval (loadLog, 2500);
</script>
така ще изваждаш информация от reloadinfo.php на всеки 3 секунди без рефреш :)
пп: трябва ти jQuery библиотеката :)
 
webdeveloper каза:
Не че нещо, ама аз нищо не разбрах от тоя код...
Правиш си див <div id="reload"> след това си правиш файл reload.info.php в него си слагаш кода който изкарва новините примерно от базата данни. Правиш си го както искаш да изглежда. И този код който ти е даден горе от потребителят обновява информация на всеки 2,5 секунди
 
А не може ли информацията която си е в дива да се обновява без този допълнителен файл?
 
Благодаря стана.. :) А знаеш ли как да направя като се натисне "submit" бутона дане се рефрешва страницата.. ? :)
 
Genius_m каза:
Благодаря стана.. :) А знаеш ли как да направя като се натисне "submit" бутона дане се рефрешва страницата.. ? :)
По същия начин се прави. :)
Просто сложи по горе.
[js]$("#submit").click(function() {
// Тука си правиш останалите работи от кода. :)
});[/js]
 
Genius_m каза:
Братле неможах да те разбера този код къде да го сложа?
Правиш си една форма примерно:
HTML:
<form method="POST" action="" onsubmit="send();">
<input type="text" name="msg" id="msg">
<input type="submit" name="submit" value="Изпрати" />
</form>
Правиш си една фукция:
[js]function send()
{
var msg = $("#msg").val();
$.post("FILE.php", { msg: msg } );
}[/js]
И вътре в FILE.php си правиш заявката за запис в БД. :)
 
Ev0luti0N каза:
Genius_m каза:
Благодаря стана.. :) А знаеш ли как да направя като се натисне "submit" бутона дане се рефрешва страницата.. ? :)
По същия начин се прави. :)
Просто сложи по горе.
[js]$("#submit").click(function() {
// Тука си правиш останалите работи от кода. :)
});[/js]
Не е така.
Слага се some_event.preventDefault()
 
Объркал съм при втория код трябва да е така:
[js]function send()
{
var msg = $("#msg").val();
$.post("FILE.php", { msg: msg } );
return false;
}[/js]
 
Ev0luti0N каза:
webdeveloper каза:
Не че нещо, ама аз нищо не разбрах от тоя код...
Правиш си див <div id="reload"> след това си правиш файл reload.info.php в него си слагаш кода който изкарва новините примерно от базата данни. Правиш си го както искаш да изглежда. И този код който ти е даден горе от потребителят обновява информация на всеки 2,5 секунди

При мен нещо неще да работи... Имам jquery библиотека и неще...

Сложил съм скрипта в страницата със дива, след което:

<div id="reload">Съдържанието което ще се рефрешва</div>

И после в отделния php файл пак съм сложил "Съдържанието което ще се рефрешва".
 
Таа значи при мен работи.. обаче когато се показват резултатите ми излизат на въпросителни.. Не е от кодировката, защото си пише нормално в началото
streleca_stz каза:
20 July - 2011 9:26:30 pm

�� �� ������ ���� ����

Не е и от базата данни.. там всичкo си е на български и няма проблеми :S
 
streleca_stz каза:
Таа значи при мен работи.. обаче когато се показват резултатите ми излизат на въпросителни.. Не е от кодировката, защото си пише нормално в началото
streleca_stz каза:
20 July - 2011 9:26:30 pm

�� �� ������ ���� ����

Не е и от базата данни.. там всичкo си е на български и няма проблеми :S
Трябва да сложиш header с екодинга:
PHP:
header("Content-Type:text/html; charset=utf-8");
 

Back
Горе