login  Naam:   Wachtwoord: 
Registreer je!
 Forum

SQL UPDATE na 7 dagen..

Offline avickum - 29/08/2009 18:28
Avatar van avickumNieuw lid Ik heb een spel op mijn site en als je dan dit hebt:

if($list->galgje == "0")

kun je het spel spelen en dan als je het spel gespeeld hebt veranderd dat in:

if($list->galgje == "7")

Dan kun je het spel niet meer spelen.. nu is de vraag: hoe zorg ik ervoor dat je nadat de 0 in de 7 is veranderd je 7 dagen moet w8n voor je het spel opnieuw kunt spelen..?

Ik dacht dat zo moest:

UPDATE leden_gegevens SET gaqlgen = '0';

maar hoe zet je daar in dat dat pas 7 dagen nadat je het spel hebt gespeeld gebeurd..?

Hoop dat ik het duidelijk heb uitgelegd..

10 antwoorden

Gesponsorde links
Offline tictac_php2 - 29/08/2009 18:32
Avatar van tictac_php2 Nieuw lid UPDATE leden_gegevens SET tijd_laaste_game_done = '".mktime()."'


de pagina was laten zien als


if($uitgehaald["tijd_laaste_game_done"] < (mktime() - (60*60*24*7))) {

// show page

} else {

Je mag niet nog eens;


}
Offline avickum - 29/08/2009 18:32
Avatar van avickum Nieuw lid moet ik tijd_laaste_game_done als tabel in de db zetten?
Offline tictac_php2 - 29/08/2009 18:36
Avatar van tictac_php2 Nieuw lid Ja dus, je gaat in je database een tijd zetten als spelletje is gedaan ga je de huidige tijd in de database zetten (mktime()), pas na 60*60*24*7 (7dagen) zal je het spelletje zien.

Hoe je tijd_laaste_game_done in je Db zet is niet mijn zaak tijd_laaste_game_done is een voorbeeld


Er zijn tal van manieren maar die ga ik niet uitleggen, dit is de meeste basische
Offline Martijn - 29/08/2009 18:37
Avatar van Martijn Crew PHP kun je bij cronjobs? if so, dan doe je elke avond om 12uur dit:

  1. UPDATE leden_gegevens SET laatste_game_done=laatste_game_done-1 WHERE laatste_game_done>0


Dan wordt alles elke dag netjes 1 stapje terug gezet, en na 7 dagen kun je automatisch weer spelen
Offline tictac_php2 - 29/08/2009 18:39 (laatste wijziging 29/08/2009 18:40)
Avatar van tictac_php2 Nieuw lid
DeviourSoul schreef:
kun je bij cronjobs? if so, dan doe je elke avond om 12uur dit:

[..code..]

Dan wordt alles elke dag netjes 1 stapje terug gezet, en na 7 dagen kun je automatisch weer spelen



Is een mooie oplossing, zoals ik dus al zei er bestaan zoveel manieren voor jou probleem


Alleen krijg je hier niet precies 7 dagen later dus het kan 6.1 dagen worden of 7.99 dagen
Offline avickum - 29/08/2009 18:44 (laatste wijziging 29/08/2009 18:46)
Avatar van avickum Nieuw lid Hij doet et niet, je kunt gwn 2 keer spelen, miss zien jullie wat ik verkeerd doe? (ik ben gwn heel slecht indit soort dingen)
Dit is de code:

  1. <?php
  2. if($_GET['actie'] == "galgje")
  3. {
  4. $select = "SELECT * FROM leden_gegevens WHERE id = '".$list->id."'";
  5. $result = mysql_query($select)or die(mysql_error());
  6.  
  7. if(mysql_num_rows($result) == 0)
  8. {
  9. echo "<br>";
  10. echo "<div class=\"titel\"><b>Fout</b></div>";
  11. echo "<hr>";
  12. echo "<div class=\"bericht\">Deze gebruikersnaam bestaat niet... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
  13. }
  14. else
  15. {
  16. $row = mysql_fetch_assoc($result);
  17.  
  18. echo "<div class=\"titel\"><b>Laden</b></div>";
  19. echo "<hr>";
  20.  
  21. if ($row['munten'] >= -1) {
  22. $update = "UPDATE leden_gegevens SET munten = munten +2, galgje = '7', tijd_laatste_game_done = '".mktime()."' WHERE id = '".$list->id."'";
  23. mysql_query($update)or die(mysql_error());
  24. echo "<div class=\"bericht\">Je word doorgelinkt...</div>";
  25. } else {
  26. echo "<div class=\"bericht\">Er is een fout opgetreden... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
  27. }
  28. }
  29. }
  30. else
  31. {
  32. echo "<br>";
  33. echo "<div class=\"titel\"><b>Fout</b></div>";
  34. echo "<hr>";
  35. echo "<div class=\"bericht\">Er is iets foutgelopen... <a href=\"javascript:history.go(-1)\">Ga terug</a></div>";
  36. }
  37. ?>
  38.  
  39. <html>
  40. <META HTTP-EQUIV="refresh" CONTENT="1; URL=index.php?pagina=avicka/galgje">
  41. <script language="JavaScript1.2" type="text/javascript"><!--
  42. if (parent.frames.length > 0)
  43. parent.location.href = location.href
  44. //--></script>
  45. </html>
  46.  
  47. <?
  48. if($uitgehaald["tijd_laatste_game_done"] < (mktime() - (60*60*24*7))) {
  49.  
  50. // show page
  51.  
  52. } else {
  53.  
  54. echo "Je mag niet nog eens";
  55. }
  56. ?>
Offline Wim - 29/08/2009 19:09
Avatar van Wim Crew algemeen Je moet je code natuurlijk wel binnen de if-lus plaatsen...
Offline avickum - 29/08/2009 19:19 (laatste wijziging 29/08/2009 19:27)
Avatar van avickum Nieuw lid Hoe? het lukt me niet het goed te plaatsen.. ik kan nog steeds vaker spelen

Kan iemand het please goed maken, ik ben gwn hopeloos slecht in dit..
Offline tictac_php2 - 29/08/2009 19:33
Avatar van tictac_php2 Nieuw lid avickum wacht even ;)
Offline avickum - 29/08/2009 19:33 (laatste wijziging 29/08/2009 21:26)
Avatar van avickum Nieuw lid ok

*w8 nog steeds*
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s