Aftellen met php
Hoe maak ik een script die aftelt van bijv 60 en dat steeds minder wordt. Ik wil graag dat die dan elke keer dat die er iets afhaalt dat ook in de database veranderd. Weet iemand hoe dit moet?
Maar of dit de meest handige manier van database updaten is betwijfel ik. Leg eens uit wat je precies gaat doen, misschien kunnen we een efficientere oplossing bedenken. 60 query's is meestal overbodig.
Als iemand iets heeft gedaan moet hij wachten tot hij weer wat kan doen dan moet het zo zijn als de tijd 0 is dat hij dan weer wat kan doen
Dus meer een timestamp idee?
time()+aantal sec
Dan ga je elke keer kijken hoe lang nog
hoe zorg ik ervoor dat die dan in de db elke sec er 1 van af haalt tm 0
set_time_limit(0);
while(true) // Eeuwige lus
{
// Doe een controle
...
// Rust voor bijv. 60 seconden
sleep (60);
}
Ik snap die code niet echt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
// Gebruik maximale script-run-time
set_time_limit(0);
$i = 60; // 60 seconden
while($i > 0)
{
// Doe de controle in de database
...
// Wacht 1 seconde
sleep(1);
$i--; // Verlaag het aantal seconden dat we nog moeten..
}
?>
// Gebruik maximale script-run-time
set_time_limit(0);
$i = 60; // 60 seconden
while($i > 0)
{
// Doe de controle in de database
...
// Wacht 1 seconde
sleep(1);
$i--; // Verlaag het aantal seconden dat we nog moeten..
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
$sqlout="SELECT tijd FROM tabel'";
$query_naam = mysql_query($sqlout) or die(mysql_error());
$query_row=mysql_fetch_array($query_naam);
$time_left=$query_row['naam van je row'];
$timestampFromSql = strtotime($time_left);
$now = time();
$Timeleft = date('i:s ', ($timestampFromSql - $now));
echo $time_left;
?>
$sqlout="SELECT tijd FROM tabel'";
$query_naam = mysql_query($sqlout) or die(mysql_error());
$query_row=mysql_fetch_array($query_naam);
$time_left=$query_row['naam van je row'];
$timestampFromSql = strtotime($time_left);
$now = time();
$Timeleft = date('i:s ', ($timestampFromSql - $now));
echo $time_left;
?>
volgens mij moet dit werken
ik had na while($i > 0)
{
echo $i ;
toegevoegd maar dan w8 hij met laden en dan krijg je (als hij klaar is met aftellen)pas een bericht te zien. Ik wil graag dat je ziet 10 9 8 7 enz.
Ipv te werken met timestamps zou ik persoonlijk liever voor een datetime veld gaan.
Het klinkt meer als een Javascriptje die na x seconden een pagina ververst ofzo..
hoe werkt dat timestamps dan? (ik ben nog een beginner)
weet iemand dat?
nou?
aftellen met javascript.
waar wil je die timer eigenlijks voor gebruiken ?
mischien dat we je dan beter kunnen helpen
Ik wil proberen een php game te maken (omerta in die richting) en als je dan een misdaad pleegt dan moet je wachten voor dat je weer een misdaad kan plegen. En als je moetr wachten dat hij dan het aantal seconden weergeeft.
Dat is het best te doen met Javascript.
En hoe kan ik dat doen?