login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Elke seconde aanpasse (SQL)

Offline larssy1 - 02/12/2009 10:42 (laatste wijziging 02/12/2009 10:47)
Avatar van larssy1MySQL beginner Hoi mensen,

Ik was bezig met een game, en daar ben ik bezig nu met een countdown teller.

Deze teller is gebasseerd op uren:minuten:secondes

Nu werkt die alles perfect.
Hij haalt het aantal microseconden uit de database en zet dit nummer in het JavaScript.

Nu is echter alleen het probleem.. telkens na vernieuwing van de pagina, blijft het zelfde getal. Omdat hij de waarde in de database niet verlaagt.

Nu heb ik in mijn vorige topic(Ga naar topic) gevraagt hoe ik de waarde in de SQL kon opvragen, dit is gelukt.

Zoals ik al zei.. het enige wat nog moet gebeuren is de waarde in de database ook laten aanpassen zodat hij doortelt na een refresh en niet opnieuw begint.

JavaScript:
http://plaatscode.be/138130/

Body script:
  1. <script language="javascript"> setInterval("updateTime('tijdsduur', <?php echo $countdown_data1; ?> + time.getTime(), '')",250); </script>
  2. <div class="tijdsduur" id="tijdsduur"></div>


Hopelijk kunnen jullie me hierbij helpen.

Mvg
Lars

12 antwoorden

Gesponsorde links
Offline ArieMedia - 02/12/2009 10:46
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Moet ik hem zelf nog aanmaken ofzo dat topic?  .

(Check je "Ga naar topic"-link )
Offline larssy1 - 02/12/2009 10:47 (laatste wijziging 02/12/2009 10:47)
Avatar van larssy1 MySQL beginner oeps. momentje XD

-----------------
Link aangepast 
Offline Martijn - 02/12/2009 11:51
Avatar van Martijn Crew PHP dat lijkt me niet de goede oplossing Elke sec een query word véél te intenstief als je veel users hebt.

Als je een datum hebt waar je countdown op 0 moet zijn, doe je gewoon:
eindtijd - tijdNu = tijd dat je moet wachten.

Als je dan de pagina ververst, is de tijdNu dus wat groter, dus tijd dat je moet wachten weer kleiner waardoor ie veel beter klopt.
En dus geen enkele extra query
Offline larssy1 - 02/12/2009 13:10 (laatste wijziging 02/12/2009 13:11)
Avatar van larssy1 MySQL beginner dus het word dan zoiets??

  1. <?php
  2. $eindtijd = $data['countdown_data1'];
  3. $tijdNu = NOW();
  4.  
  5. $tijd_left = $eindtijd - $tijdNu;
  6. ?>

Is er een manier om dit als nog visueel af te laten tellen?

Valt dit ook in JavaScript in te voegen?

bijv zo:
script (blijft zelfde)
http://plaatscode.be/138130

body:
  1. <?php
  2. $eindtijd = $data['countdown_data1'];
  3. $tijdNu = NOW();
  4.  
  5. $tijd_left = $eindtijd - $tijdNu;
  6. ?>

en
  1. <script language="javascript"> setInterval("updateTime('tijdsduur', <?php echo $tijd_left; ?> + time.getTime(), '')",250); </script>
  2.  
  3. <div class="tijdsduur" id="tijdsduur"></div>
Offline ArieMedia - 02/12/2009 13:18
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
NOW() is sql
time() is php
Offline larssy1 - 02/12/2009 13:24
Avatar van larssy1 MySQL beginner zag al dat ik foutje had.. haha XD

en zal ik met time() of date() werken.
Ik denk met date en dan ook de volledige datum laten weergeven..
Ik denk dat je anders het probleem krijgt rond de late uren..

bijv 0:30 - 23:23 dat dat fout gaat.. en dus een tijd uitkomt van 22:53

En als je met volledige datums gaat werken, hoe moet dan de code worden?
Offline Martijn - 02/12/2009 13:28
Avatar van Martijn Crew PHP een beetje zelf zoeken mag hoor Ik heb je verteld hoe het moet, nu moet je alleen even de juiste functies opzoeken 
Offline larssy1 - 02/12/2009 13:29
Avatar van larssy1 MySQL beginner oke oke XD
dankje tot zover ik laat nog even op niet opgelost, voor 't geval ik nog weer problemen krijg 
Offline ArieMedia - 02/12/2009 13:38
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
$sTijd = date('Y-m-d H:i', time());
Offline larssy1 - 02/12/2009 15:13 (laatste wijziging 02/12/2009 16:04)
Avatar van larssy1 MySQL beginner Ik kom er echt niet uit lol.. als ik de reken opties gebruik.. om deze tijd verschillen te berekenen, komt er altijd 0 uit >.<

en andere opties die ik heb overweegt kloppen ook al niet..

Ik heb gekeken naar Time() , Date() en ook nog naar microseconds() maar geen van dees kan ik juist gebruiken hiervoor.

Ook heb ik nog met TIMEDIFF geprobeert,, maar werkt ook niet zoals moet. :x
----------------------------------
haha, nu hebk een script gevonden

Alelen nu snap ik nog niet veel..

Een groot deel is JavaScript >.<
en er staan dingen in als dit:

window.setInterval('cdtimer(0,"crimes",-63429753313);', 1000);
window.setTimeout('cdtimer(0,"crimes",-63429753313);', 100);
window.setInterval('cdtimer(1,"organized-crime",0);', 1000);
window.setTimeout('cdtimer(1,"organized-crime",0);', 100);

Iemand die ik miss mag toevoegen op MSN zodat we dit samen kunnen oplossen??
Offline Martijn - 02/12/2009 19:34
Avatar van Martijn Crew PHP je kunt een echo doen alsvolgt:

  1. echo $tijdEind." - ".$wachtTijd." = ".$tijdEind-$wachttijd;


dan zie je wat ie rekent 
Offline larssy1 - 03/12/2009 00:15 (laatste wijziging 03/12/2009 00:15)
Avatar van larssy1 MySQL beginner had ik al geprobeerd.. maar komt telkens 0 uit..

en sorry als ik even iets fout typ.. aangeschote :x
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.216s