Via tijd database uploaden
Hallo,
Ik heb een vraag die waarschijnlijk al in het forum staat, maar ik kan hem niet vinden omdat ik niet weet waar ik op moet zoeken.
Nou, hier dan mijn vraag: Hoe kan ik (voor bijv. een browsergame) iets maken met php waardoor als je een formulier invuld er in plaats van gelijk een waarde wordt ingevuld in de database, er bijv. pas na 5 minuten iets wordt ingevuld?
Een voorbeeld hiervan staat op de site http://www.travian.nl
Als je daar inlogged dat kun je dingen bouwen zoals een opslaghuisje in jouw dorpje, maar voordat die is geboud, duurt het eerst 5 minuten. Het aftellen zoals het daar is hoeft niet, maar het zou natuurlijk altijd leuk zijn.
Alvast bedankt voor alle reacties,
Groetjes,
Oli4 Jansen
Ik heb een vraag die waarschijnlijk al in het forum staat, maar ik kan hem niet vinden omdat ik niet weet waar ik op moet zoeken.
Nou, hier dan mijn vraag: Hoe kan ik (voor bijv. een browsergame) iets maken met php waardoor als je een formulier invuld er in plaats van gelijk een waarde wordt ingevuld in de database, er bijv. pas na 5 minuten iets wordt ingevuld?
Een voorbeeld hiervan staat op de site http://www.travian.nl
Als je daar inlogged dat kun je dingen bouwen zoals een opslaghuisje in jouw dorpje, maar voordat die is geboud, duurt het eerst 5 minuten. Het aftellen zoals het daar is hoeft niet, maar het zou natuurlijk altijd leuk zijn.
Alvast bedankt voor alle reacties,
Groetjes,
Oli4 Jansen
Je benadert het denk ik verkeerd. Natuurlijk moet je het eerst in de database zetten maar het zal pas actief worden na de bouwtijd. Wat je dus doet is bijv. huidige tijd + 5 min in de database zetten en dan checken of het veld lager dan nu is. Zo ja, het gebouw is actief, zo niet, dan duurt het nog datumveld - NOW() tijd. Op die manier is aftellen ook mogelijk.
Maar nog een browser game lijkt me niet nodig ;-)
Maar nog een browser game lijkt me niet nodig ;-)
je kan wel je formulier automatisch na een x aantal seconden submiten maar of je dat zoekt weet ik niet precies
linkje: http://www.phphulp.nl/forum/showtopic.php?id=33215&cat=1&replies=20
Naja anders moet je aan de slag met C++ :).
linkje: http://www.phphulp.nl/forum/showtopic.php?id=33215&cat=1&replies=20
Naja anders moet je aan de slag met C++ :).
Als je de gegevens (van het kopen) met een DATETIME (+ 5 minuten) opslaat, dan zijn alle rijen waarin de DATETIME hoger is dan NOW() actief.
Dus: bij aankopen doen direct opslaan, maar MET een DATETIME + 5 MINUTES.
Gewoon SQL-en. Hier komt dus nauwelijks PHP aan te pas.
En ga aub NIET met php die 5 minuten (300 sec) erbij tellen, want dat kan SQL veel beter en sneller.
Dus: bij aankopen doen direct opslaan, maar MET een DATETIME + 5 MINUTES.
Gewoon SQL-en. Hier komt dus nauwelijks PHP aan te pas.
En ga aub NIET met php die 5 minuten (300 sec) erbij tellen, want dat kan SQL veel beter en sneller.
@Han:
Hahaha, ja rowser games zijn er idd genoeg, maar het is voor een schoolproject. Oke, ik snap het nu best goed, maar hoe moet ik die tabel dan maken? Ik moet er dus tijd in zetten, dus dan wordt hget bijv. dit:
CREATE TABLE `gebruikers` (
`id` int(11) NOT NULL auto_increment,
`naam` varchar(50) NOT NULL default '',
`wachtwoord` varchar(50) NOT NULL default '',
`gebouw1` ???? NOT NULL default '',
`gebouw2` ???? NOT NULL default '',
PRIMARY KEY (`id`)
) ;
en dan in gebouw 1 of 2 de tijd + 5 min.?
Ik snap dan nog niet helemaal hoe.
Bedankt,
Oli4 Jansen
----EDIT--------
@Eddy Erkelens
Oke, dat snap ik, maar hoe moet ik het dan opgeven in de pagina?
Dus als ze hebben gesubmit, dan maak ik een regel:
mysql_query("INSERT INTO gebruikers (gebouw1) VALUES (??????)") or die(mysql_error());
En dan weet ik het niet echt meer.
Hahaha, ja rowser games zijn er idd genoeg, maar het is voor een schoolproject. Oke, ik snap het nu best goed, maar hoe moet ik die tabel dan maken? Ik moet er dus tijd in zetten, dus dan wordt hget bijv. dit:
CREATE TABLE `gebruikers` (
`id` int(11) NOT NULL auto_increment,
`naam` varchar(50) NOT NULL default '',
`wachtwoord` varchar(50) NOT NULL default '',
`gebouw1` ???? NOT NULL default '',
`gebouw2` ???? NOT NULL default '',
PRIMARY KEY (`id`)
) ;
en dan in gebouw 1 of 2 de tijd + 5 min.?
Ik snap dan nog niet helemaal hoe.
Bedankt,
Oli4 Jansen
----EDIT--------
@Eddy Erkelens
Oke, dat snap ik, maar hoe moet ik het dan opgeven in de pagina?
Dus als ze hebben gesubmit, dan maak ik een regel:
mysql_query("INSERT INTO gebruikers (gebouw1) VALUES (??????)") or die(mysql_error());
En dan weet ik het niet echt meer.
Gewijzigd op 01/01/1970 01:00:00 door Olivier Jansen
Iemand misschien?
je moet NOW() (SQL) eruithalen en via date() (php) omzetten... ^^;
ow kzie dat beetje anders ligt dan ik eerst gelezen had ;)
het is gewoon (NOW() + 1 MINUTE) of (NOW() + 1 WEEK)
ow kzie dat beetje anders ligt dan ik eerst gelezen had ;)
het is gewoon (NOW() + 1 MINUTE) of (NOW() + 1 WEEK)
Gewijzigd op 01/01/1970 01:00:00 door Caius Cosades
Oh, oke.
Volgens mij snap ik het nu.
Dus
mysql_query("INSERT INTO gebruikers (gebouw1) VALUES (NOW() + 1 MINUTE)") or die(mysql_error());
en dan
if(isset($gebouw1==NOW())){
$gebouw = actief
}
Zoiets
Volgens mij snap ik het nu.
Dus
mysql_query("INSERT INTO gebruikers (gebouw1) VALUES (NOW() + 1 MINUTE)") or die(mysql_error());
en dan
if(isset($gebouw1==NOW())){
$gebouw = actief
}
Zoiets
?
'Olivier:
Oh, oke.
Volgens mij snap ik het nu.
Dus
mysql_query("INSERT INTO gebruikers (gebouw1) VALUES (NOW() + 1 MINUTE)") or die(mysql_error());
en dan
if(isset($gebouw1==NOW())){
$gebouw = actief
}
Zoiets
Volgens mij snap ik het nu.
Dus
mysql_query("INSERT INTO gebruikers (gebouw1) VALUES (NOW() + 1 MINUTE)") or die(mysql_error());
en dan
if(isset($gebouw1==NOW())){
$gebouw = actief
}
Zoiets
NOW() is een mysql code. dus in de eerste doe je dat goed alleen daarna niet dan moet je iets hebben als:
$query = mysql_query("SELECT * FROM gebruikers WHERE gebouw1 < NOW()");
while($row = mysql_fetch_array($query)) {
//hier ene verdere code wat hij dan moet doen
}
Gewijzigd op 01/01/1970 01:00:00 door Vincent hagen




