Via tijd database uploaden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Olivier Jansen

Olivier Jansen

04/02/2009 19:07:00
Quote Anchor link
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
 
PHP hulp

PHP hulp

22/12/2024 08:02:23
 
Han eev

Han eev

04/02/2009 19:09:00
Quote Anchor link
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 ;-)
 
Kumkwat Trender

Kumkwat Trender

04/02/2009 19:13:00
Quote Anchor link
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++ :).
 
Eddy E

Eddy E

04/02/2009 19:31:00
Quote Anchor link
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.
 
Olivier Jansen

Olivier Jansen

04/02/2009 19:38:00
Quote Anchor link
@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.
Gewijzigd op 01/01/1970 01:00:00 door Olivier Jansen
 
Olivier Jansen

Olivier Jansen

05/02/2009 18:24:00
Quote Anchor link
Iemand misschien?
 
Caius Cosades

Caius Cosades

05/02/2009 18:26:00
Quote Anchor link
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)
Gewijzigd op 01/01/1970 01:00:00 door Caius Cosades
 
Olivier Jansen

Olivier Jansen

06/02/2009 08:26:00
Quote Anchor link
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
 
Olivier Jansen

Olivier Jansen

16/02/2009 15:21:00
Quote Anchor link
?
 
Vincent hagen

Vincent hagen

14/04/2009 17:31:00
Quote Anchor link
Olivier schreef op 06.02.2009 08:26:
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


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
 



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.