Dynamické obnovovanie stránky

Programovacie jazyky, rady, poradňa...
L.E.n
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 289
Registrovaný: 22 mar 2010, 19:47
Bydlisko: Broken mind
Kontaktovať používateľa:

Dynamické obnovovanie stránky

Príspevok od používateľa L.E.n »

Ahoj. Potrebujem spraviť dynamické obnovovanie stránky, prípadne len časti stránky. Povedzme že ide o stránku, kde vám môže iný užívateľ poslať súkromnú správu. Príjemca je však neaktívny, prípadne si prezerá len index stránky a stránku neobnovuje. Ako mám spraviť, aby sa mu zobrazila nová správa? Najlepšie bez nejakých ajaxov a pod...
Hlavná by bola pre mňa rýchlosť a hlavne nechcem aby keď sa užívateľ na stránke niekam pohne, že sa stránka obnoví a hodí ho to na začiatok...
Vďaka, snáď rozumiete čo myslím :) :D

(rozumiete, to obnovovanie musí byť pre každého užívateľa osobitne, žiaden CRON ani nič podobné :))
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Dynamické obnovovanie stránky

Príspevok od používateľa audiotrack »

L.E.n napísal:Ahoj. Potrebujem spraviť dynamické obnovovanie stránky, prípadne len časti stránky. Povedzme že ide o stránku, kde vám môže iný užívateľ poslať súkromnú správu. Príjemca je však neaktívny, prípadne si prezerá len index stránky a stránku neobnovuje. Ako mám spraviť, aby sa mu zobrazila nová správa? Najlepšie bez nejakých ajaxov a pod...
Hlavná by bola pre mňa rýchlosť a hlavne nechcem aby keď sa užívateľ na stránke niekam pohne, že sa stránka obnoví a hodí ho to na začiatok...
Vďaka, snáď rozumiete čo myslím :) :D

(rozumiete, to obnovovanie musí byť pre každého užívateľa osobitne, žiaden CRON ani nič podobné :))
tá modrá a červená časť sa v tvojej správe bijú. Buď zapojíš ajax, alebo budeš mať tie vedlajie efekty ktoré si spomínal (číta a zrazu ho hodí na začiatok, bude to pomalé..)
L.E.n
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 289
Registrovaný: 22 mar 2010, 19:47
Bydlisko: Broken mind
Kontaktovať používateľa:

Re: Dynamické obnovovanie stránky

Príspevok od používateľa L.E.n »

audiotrack napísal: tá modrá a červená časť sa v tvojej správe bijú. Buď zapojíš ajax, alebo budeš mať tie vedlajie efekty ktoré si spomínal (číta a zrazu ho hodí na začiatok, bude to pomalé..)
Môj problém je, že s ajaxom neviem ani ň, takže by som potreboval rovno konkrétny príklad, ak by to bolo možné.. :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Dynamické obnovovanie stránky

Príspevok od používateľa audiotrack »

konkrétny príklad na ctrl+c a ctrl+v pre tvoj web ti tu nikto nespraví, lebo k tomu by bolo treba upravovať viac súborov a nedal si žiadne zdrojáky. Na internete je ale kopec návodov a ukážok, takže ak si pozreš ako sa robí s timerom (setTimeout() ) v javascripte, ako sa načíta obsah divu (volanie ajaxom cez get) a ako si pripraviť príslušné php k tomu, tak to zvládneš
L.E.n
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 289
Registrovaný: 22 mar 2010, 19:47
Bydlisko: Broken mind
Kontaktovať používateľa:

Re: Dynamické obnovovanie stránky

Príspevok od používateľa L.E.n »

Práve to som chcel - návod, nie kompletný script.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Dynamické obnovovanie stránky

Príspevok od používateľa audiotrack »

takže takto nejak by to bolo:

Kód: Vybrať všetko

<html>
<head>
<script type="text/javascript">
function ajax_load(){
	if (window.XMLHttpRequest){
	  xmlhttp = new XMLHttpRequest();
	}
	else{
	  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.onreadystatechange = function(){
	  if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
		document.getElementById("spravy").innerHTML = xmlhttp.responseText;
		init();
		}
	  }
	xmlhttp.open("GET","ziskaj_pocet_sprav.php",true);
	xmlhttp.send();
}

function init(){
	var t = setTimeout("ajax_load()",3000);
}
</script>
</head>
<body onload="init()">

<div id="spravy">Načítavam počet správ...</div>

</body>
</html>

zvyšne html si do tej stránky dorob sám, prípadne si toto napasuj do svojej stránky (javascript do hlavičky, div spravy tam kde to chceš zobrazovať, a do body onload zavolať init() )
ziskaj_pocet_sprav.php je php stránka, ktorej výstupom bude link na nové správy aj s príslušným počtom (teda sa spustí mysql query, a výstup sa vypíše normálne cez echo)
Vo funkcii init kde je settimeout si nastav frekvenciu obnovovania v milisekundách. 3000 znamená 3 sekundy. Je to z hlavy, tak ak tam mám niekde chybu tak sa ospravedlňujem
L.E.n
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 289
Registrovaný: 22 mar 2010, 19:47
Bydlisko: Broken mind
Kontaktovať používateľa:

Re: Dynamické obnovovanie stránky

Príspevok od používateľa L.E.n »

Vďaka, to vyzerá fajn, hneď vyskúšam :)
K+

//autoeditácia príspevku (29 Júl 2010, 19:27)
Tak počkať, teraz neviem ako mám urobiť ten výstup.
V ziskaj_pocet_sprav.php budem mať premennú $premenna = "5"; - (samozrejme, tá premenná sa bude čítať zo SQL, prípadne inak), v index.php kde mám to, čo si napísal dám ale čo, aby sa tá premenná prečítala?
sedlák
Light Expert
Light Expert
Príspevky: 37
Registrovaný: 04 júl 2010, 20:23

Re: Dynamické obnovovanie stránky

Príspevok od používateľa sedlák »

pokial sa nemylim tak do <div id="spravy"> ti to hodi text, ktory ti vypise v subore ziskaj_pocet_sprav.php

cize tam daj napr

Kód: Vybrať všetko

echo "Mate $premenna správ"
L.E.n
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 289
Registrovaný: 22 mar 2010, 19:47
Bydlisko: Broken mind
Kontaktovať používateľa:

Re: Dynamické obnovovanie stránky

Príspevok od používateľa L.E.n »

Jááj, jasné, ten div som zabudol, ďakujem, funguje :)
Napísať odpoveď