auto refresh page?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Groovez acid

groovez acid

15/04/2012 18:50:39
Quote Anchor link
hey !

ik heb op mijn website wat timers staan, die aftellen naar een bepaald event

maar op het moment zie je ze enkel verminderen in tijd als je de pagina refreshed

op welke manieren kan ik dit oplossen?

moet er dan een refresh script voor heel de pagina zijn, of kan er elke seconde, 1 bepaalde var geupdate worden zondere de hele pagina opnieuw te moeten laden?

bedankt alvast !

grtjs
 
PHP hulp

PHP hulp

05/11/2024 15:37:32
 
Nick Dijkstra

Nick Dijkstra

15/04/2012 19:30:57
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<form name="count">
<input type="text" size="69" name="count2">
</form>


<script>
//change the text below to reflect your own,
var before="Kerstmis!"
var current="Vandaag is het kerstmis!"
var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

function countdown(yr,m,d){
theyear=yr;themonth=m;theday=d
var today=new Date()
var todayy=today.getYear()
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
futurestring=montharray[m-1]+" "+d+", "+yr
dd=Date.parse(futurestring)-Date.parse(todaystring)
dday=Math.floor(dd/(60*60*1000*24)*1)
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
if(dday==0&&dhour==0&&dmin==0&&dsec==1){
document.forms.count.count2.value=current
return
}
else
document.forms.count.count2.value="Nog "+dday+ " dagen, "+dhour+" uren, "+dmin+" minuten, and "+dsec+" seconden tot "+before
setTimeout("countdown(theyear,themonth,theday)",1000)
}
//enter the count down date using the format year/month/day
countdown(2012,12,25)
</script>
Gewijzigd op 15/04/2012 19:31:04 door Nick Dijkstra
 
Groovez acid

groovez acid

15/04/2012 21:21:43
Quote Anchor link
hmm

kan hier een beetje uitleg bij?
ik begrijp wat het script doet, maar ik zie niet dadelijk waar het de datum uit het textfield opvraagt

en is dit gewoon puur php?
 
Nick Dijkstra

Nick Dijkstra

15/04/2012 21:27:08
Quote Anchor link
Dit is geen php, maar javascript. Dan hoef je niet steeds je browser te refreshen.
en dit is de regel dit de tekst in het textfield zet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
document.forms.count.count2.value="Nog "+dday+ " dagen, "+dhour+" uren, "+dmin+" minuten, and "+dsec+" seconden tot "+before


Je kan eventueel hier ook nog kijken voor wat mooiere "javascript countdowns".
 
Groovez acid

groovez acid

15/04/2012 23:29:34
Quote Anchor link
ok zal ik doen, maar ik wou eerst eens proberen in jquery

heb dit script gevonden

<script src='http://code.jquery.com/jquery-latest.js'></script>
<script>
$(document).ready(function() {
$('#responsecontainer').load('response.php?matchid=$matchid');
var refreshId = setInterval(function() {
$('#responsecontainer').load('response.php?randval='+ Math.random());
}, 9000);
$.ajaxSetup({ cache: false });
});
</script>

als ik dan een div met id responsecontainer plaats, gaat hij deze code om de vijf seconden laten, ideall voor mij

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo rand(); ?>
in file response.php

dit werkt
maar nu wil ik dat random getal vervangen door een var die berekend word op de pagina, en niet in response.php

als ik gewoon echo rand(); vervang door echo $diff; werkt het niet

nu heb ik een variable meegegeven naar response.php
en die haal ik zo op

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?     $matchidchecker = (int)$_GET['matchid'];
echo $matchidchecker;
     ?>


hij laat mij inderdaad het matchid zien, maar na de eerste refresh word hij 0 :s
die get werkt maar 1 x?

nu heb ik geprobeerd met sessions het id the onthouden, maar dit lukt niet
ik probeer dit aan de praat te krijgen, zodat ik de tijd opnieuw kan berekenen in response.php adhv het matchid

hoe komt dit?
 
Lex van der poel

lex van der poel

16/04/2012 12:09:50
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script>
$(document).ready(function() {
$('#responsecontainer').load('response.php?matchid=$matchid');
var refreshId = setInterval(function() {
$('#responsecontainer').load('response.php?randval=' + Math.random() + '&matchid=$matchid');
}, 9000);
$.ajaxSetup({ cache: false });
});
</script>

bedoel je dat?
Gewijzigd op 16/04/2012 12:10:13 door lex van der poel
 
Groovez acid

groovez acid

16/04/2012 21:35:16
Quote Anchor link
jah man ! thx !!

werkt vlotjes nu, ik vergat de tweede response line aantepassen ...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.