pagina verversen
Ik heb een php-bestand waarin titels van muziek worden weergegeven(aspx).
deze heb ik via een include-functie toegevoegd in de rest van de header
op de bewuste website. so far, so good.
Nou is het de bedoeling datwanneer er een niew nummer wordt gedraaid de titel ook automatisch wordt aangepast. Is er een manier om de php-pagina die tussen de
include-functie valt automatisch om de zoveel tijd te laten verversen,
zodat er elke keer een nieuwe titel naar voren komt? Op dit moment moet
je eerst de hele pagina verversen voordat dit gebeurd.
deze heb ik via een include-functie toegevoegd in de rest van de header
op de bewuste website. so far, so good.
Nou is het de bedoeling datwanneer er een niew nummer wordt gedraaid de titel ook automatisch wordt aangepast. Is er een manier om de php-pagina die tussen de
include-functie valt automatisch om de zoveel tijd te laten verversen,
zodat er elke keer een nieuwe titel naar voren komt? Op dit moment moet
je eerst de hele pagina verversen voordat dit gebeurd.
Je kan met AJAX (javascript) om de tijd een request doen naar een PHP pagina die de titel echo't. Dit vangt de javascript dan op zodat je de titel aan kunt passen.
er zit trouwens al een refresh-functie op de pagina.
Waarschijnlijk werkt ie niet, omdat hij als include
in die header staat. Waar moet ik die javascript dan
plaatsen om het te laten werken?
Kun je me een voorzet geven?
Waarschijnlijk werkt ie niet, omdat hij als include
in die header staat. Waar moet ik die javascript dan
plaatsen om het te laten werken?
Kun je me een voorzet geven?
Leer jQuery en dan http://api.jquery.com/jQuery.post/
ik ben alvast aan het zoeken op Jquery
oh, toch even nog een vraag?
Is er niet ipv include een andere functie
waarbij hij wel elke keer die php-pagina
ververst, omdat die functie ook al op die
pagina wordt gebruikt.
er staat al:
<center><b><meta http-equiv="refresh" content="30" />
oh, toch even nog een vraag?
Is er niet ipv include een andere functie
waarbij hij wel elke keer die php-pagina
ververst, omdat die functie ook al op die
pagina wordt gebruikt.
er staat al:
<center><b><meta http-equiv="refresh" content="30" />
PHP is server side, dus het script word op de server uitgevoerd en vervolgens word de output daarvan doorgestuurd naar de browser (verbeter me als ik 't verkeerd heb).
Zoals The Force al aangegeven had, kan je hiervoor AJAX gebruiken. Daarmee kan je bijv. om de 60 seconde met AJAX een PHP pagina opvragen. De output daarvan (wat normaal dan in je browser word gezet) staat dan in een var. Als je ervoor zorgt dat de pagina die word opgeroepen alleen de laatste nummer of de hele lijst output, kan je d.m.v. javascript de output die je gekregen hebt op de pagina weergeven.
Als je even googled naar 'xmlhttprequest' dan vind je genoeg results waar dit verhaal in word uitgelegd.
Zoals The Force al aangegeven had, kan je hiervoor AJAX gebruiken. Daarmee kan je bijv. om de 60 seconde met AJAX een PHP pagina opvragen. De output daarvan (wat normaal dan in je browser word gezet) staat dan in een var. Als je ervoor zorgt dat de pagina die word opgeroepen alleen de laatste nummer of de hele lijst output, kan je d.m.v. javascript de output die je gekregen hebt op de pagina weergeven.
Als je even googled naar 'xmlhttprequest' dan vind je genoeg results waar dit verhaal in word uitgelegd.
Eigenlijk zou een op de achtergrond een functie moeten hebben draaien die controleert of er een nieuw nummer wordt gedraaid. Deze moet dan even een signaaltje doorgeven dat het refresht wordt.
(Ja het is zo makkelijk uitleggen haha).
(Ja het is zo makkelijk uitleggen haha).
het php-bestand wordt ook wel ververst,
maar door de include wordt ie niet binnen
de ander pagina uitgevoerd.
maar door de include wordt ie niet binnen
de ander pagina uitgevoerd.
Ik zou als ik jou was voor AJAX gaan (dat zou ik doen..).
Je merkt met AJAX ook niet dat er iets word gerefresht wat je als 't goed is nu wel merkt.
Kijk, zo iets zal je dan krijgen (ben overigens niet goed in JS, dus fouten onder voorbehoud :P):
en dan zou je van xmlhttp nog even een xmlhttprequest moeten maken, of activex object.. maar daarvoor kan je hier eventueel ff een kijkje nemen:
http://www.xul.fr/en-xml-ajax.html
Je merkt met AJAX ook niet dat er iets word gerefresht wat je als 't goed is nu wel merkt.
Kijk, zo iets zal je dan krijgen (ben overigens niet goed in JS, dus fouten onder voorbehoud :P):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function refresh ()
{
xmlhttp.open (GET, "pagina_met_nummers.php", true);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4)
{
if (xmlhttp.status == 200)
{
document.getElementById("nummers").innerHTML = xmlhttp.responseText;
timer ();
}
}
};
xmlhttp.send(null);
}
function timer ()
{
setTimeout ("refresh", 10000);
}
{
xmlhttp.open (GET, "pagina_met_nummers.php", true);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4)
{
if (xmlhttp.status == 200)
{
document.getElementById("nummers").innerHTML = xmlhttp.responseText;
timer ();
}
}
};
xmlhttp.send(null);
}
function timer ()
{
setTimeout ("refresh", 10000);
}
en dan zou je van xmlhttp nog even een xmlhttprequest moeten maken, of activex object.. maar daarvoor kan je hier eventueel ff een kijkje nemen:
http://www.xul.fr/en-xml-ajax.html
ik ben op zoek gegaan en heb dit gevonden:
Volgens mij is dit wat ik zoek. Nu wil ik dit in een js.bestand
plaatsen op de bewuste plek op de pagina. (correct me if I'm wrong)
Als dat zo is gaat het er nu alleen nog om op welke locatie ik neer
ga zetten. Kan mij iemand daarmee helpen?
Volgens mij is dit wat ik zoek. Nu wil ik dit in een js.bestand
plaatsen op de bewuste plek op de pagina. (correct me if I'm wrong)
Als dat zo is gaat het er nu alleen nog om op welke locatie ik neer
ga zetten. Kan mij iemand daarmee helpen?
Gewijzigd op 02/08/2011 09:52:19 door Christiaan Datema




