login  Naam:   Wachtwoord: 
Registreer je!
 Forum

time()

Offline ottorocket - 02/05/2006 18:55 (laatste wijziging 02/05/2006 20:47)
Avatar van ottorocketOnbekend Als je op een link klikt moet de tijd in mijn database worden gezet, maar dat doet hij niet, hij zeg enkel: "U bent nu 10 minuten aan het lopen", een error geeft hij ook niet

dit is mijn link

Citaat:
<a href="trainen.php?x=lopen10">Start lopen</a>



EDIT
  1. De volledige code staat in mijn reactie

22 antwoorden

Gesponsorde links
Offline kokx - 02/05/2006 18:56
Avatar van kokx Onbekend
  1. mysql_query("UPDATE `leden` SET `trainingtijd`='time()' WHERE `gebruikersnaam` = '".$_SESSION['gebruiker']."'") or DIE(mysql_error());

==>
  1. mysql_query("UPDATE `leden` SET `trainingtijd`='". time() ."' WHERE `gebruikersnaam` = '".$_SESSION['gebruiker']."'") or DIE(mysql_error());
Offline vinTage - 02/05/2006 19:00 (laatste wijziging 02/05/2006 19:04)
Avatar van vinTage Nieuw lid Mischien wil je date("h-i-s"); gebruiken ?

edit: sry, ik wist niet precies wat time() deed (nu wel, maar dat is dus ook goed) 
Offline ottorocket - 02/05/2006 19:15
Avatar van ottorocket Onbekend hij doet het nog steeds niet

in mijn db blijft de trainingtijd gewoon staan op 0000-00-00 00:00:00
Offline Simon - 02/05/2006 19:15 (laatste wijziging 02/05/2006 19:16)
Avatar van Simon PHP expert je moet je veld op varchar (10) zetten en dan time() inserten/updaten
Offline ottorocket - 02/05/2006 19:18
Avatar van ottorocket Onbekend dan doet hij het inderdaad wel, bedankt
Offline vinTage - 02/05/2006 19:23
Avatar van vinTage Nieuw lid Of wel date("Ymdhis"); gebruiken terwijl je nog wel die tabel op DATE hebt staan.
Je hebt het antwoord al, maar
0000-00-00 00:00:00 lijkt me duidelijker dan 1146590603
Offline ottorocket - 02/05/2006 19:28
Avatar van ottorocket Onbekend ik heb dat van simon gebruikt, maar nu krijg ik "Je moet nog 44 wachten voor je volgende training" en als je dan is vernieuwd komen er enkel seconden bij


http://www.plaatscode.be/1068/
Offline Ibrahim - 02/05/2006 19:29
Avatar van Ibrahim PHP expert opmerkingen voor vintage:

het moet dan date(Y-m-d H:i:s") zijn en tabelrij moet DATETIME zijn

+ bij inserten kun je beter NOW() gebruiken
Offline Simon - 02/05/2006 19:33
Avatar van Simon PHP expert vinTage: aangezien hij wil werken met minuten enzo, is het gemakkelijker timestamps te gebruiken... daarmee kun je goed rekenen
Offline vinTage - 02/05/2006 19:48
Avatar van vinTage Nieuw lid @Simon, maar dat wist ik toen nog niet, dat wist ik pas toen hij zn script toonde, en inderdaad zo is het makkelijker rekenen.

@siliecom14, behalve date("Ymdhis") (want dat werkt wel/ook) heb je gelijk 
Offline derkiederkie - 02/05/2006 19:55
Avatar van derkiederkie Nieuw lid gebruik de mysql functie NOW() om een tijd in een database te zetten
Offline ottorocket - 02/05/2006 20:36
Avatar van ottorocket Onbekend ok, maar weet iemand nu waarom hij enkel seconde bijtelt en niet aftrekt??
Offline Simon - 02/05/2006 20:47
Avatar van Simon PHP expert je moet het als volgt doen:
  1. <?php
  2. //haal $tijd op uit db
  3. $tijd = $db_tijd + 600; // 600 seconde -> 10 minuten
  4. $tijd_nu = time();
  5. if($tijd_nu > $tijd) {
  6. //training gedaan
  7. //tekstje ofzo...
  8. }
  9. else {
  10. echo "Nog" . $tijd_nu - $tijd . " seconden wachten...";
  11. }
  12. ?>
Offline ottorocket - 02/05/2006 20:53
Avatar van ottorocket Onbekend Hey simon, bedankt, want nu werkt het, maar 1 probleem hij geeft nu dit zinnetje weer: "Je moet nog -547 wachten voor je volgende training"

Ik zou graag die min daar weg hebben

en ik heb $tijd_nu - $tijd gezet als $verschil
Offline Simon - 02/05/2006 20:55 (laatste wijziging 02/05/2006 20:56)
Avatar van Simon PHP expert
  1. <?php
  2. //haal $tijd op uit db
  3. $tijd = $db_tijd + 600; // 600 seconde -> 10 minuten
  4. $tijd_nu = time();
  5. if($tijd_nu > $tijd) {
  6. //training gedaan
  7. echo "Je hebt de vorige training afgewerkt, begin hier een nieuwe.";
  8. }
  9. else {
  10. $verschil = $tijd_nu - $tijd;
  11. echo "Nog" . $verschil . " seconden wachten...";
  12. }
  13. ?>
Offline nielsvdwal - 02/05/2006 20:58
Avatar van nielsvdwal PHP gevorderde $verschil = $tijd - $tijd_nu;

dan krijg je geen min..
Offline Button - 02/05/2006 20:59 (laatste wijziging 02/05/2006 21:00)
Avatar van Button PHP ver gevorderde ik ben niet echt aan het volgen maar als je de - wil wegkrijgen van de -547 kan je abs() gebruiken (de absolute waarde nemen)
Offline ottorocket - 02/05/2006 21:00 (laatste wijziging 02/05/2006 21:02)
Avatar van ottorocket Onbekend simon, je script werkt perfect, maar ik krijg altijd dit
"Je moet nog -178 wachten voor je volgende training"

de tijd verandert wel elke seconde , maar ik zou graag die - wegkrijgen

EDIT: naar foute reactie gekeken
Offline kokx - 02/05/2006 21:01
Avatar van kokx Onbekend
Citaat:
$verschil = $tijd - $tijd_nu;

De oplossing is al gezegd.
Offline Simon - 02/05/2006 21:02
Avatar van Simon PHP expert nielsvdwal gaf de oplossing, ik had me vergist 

  1. $verschil = $tijd_nu - $tijd;

==>
  1. $verschil = $tijd - $tijd_nu;
Offline ottorocket - 02/05/2006 21:02
Avatar van ottorocket Onbekend bedankt, nu werkt alles, topic mag gesloten worden
Offline nielsvdwal - 02/05/2006 21:03
Avatar van nielsvdwal PHP gevorderde lezen blijft lastig.. 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.238s