php tijd rekenen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ren

Ren

20/11/2006 12:49:00
Quote Anchor link
Helaas kan ik geen gebruik maken van timediff. Nu wil ik met tijd rekenen in php. Alleen kom ik niet verder dan de twee tijden naar voren halen.
Wie kan me verder helpen?

Dit is wat ik nu heb:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
include("connect.php");

$select = "SELECT cursusdatum, klantid, datumtijd FROM cursus WHERE klantid = '2'";
$selectq = mysql_query($select);

while($result = mysql_fetch_assoc($selectq)){
echo "".$result['datumtijd']."<br>";
}


$tijd = date("Y-m-d H:i:s");

echo "$tijd";

?>
 
PHP hulp

PHP hulp

05/11/2024 11:59:20
 
CrawlBackwards

CrawlBackwards

20/11/2006 12:52:00
Quote Anchor link
wat wil je er precies mee doen?

edit:
maak gebruik van de unix time stam.. dat is het aantal seconden sinds 01-01-1970 dit kan je makkelijk omzetten naar een datum en van een datum mbv date en getdate
Gewijzigd op 01/01/1970 01:00:00 door CrawlBackwards
 
Frank -

Frank -

20/11/2006 12:58:00
Quote Anchor link
Quote:
TIMEDIFF() was added in MySQL 4.1.1.
En jij kunt geen gebruik maken van TIMEDIFF() ? Dan heb je wel hele oude rotzooi (ouder dan december 2003) draaien op jouw server, hoogste tijd om eens een wat recentere versie te installeren of een betere hostingprovider te vinden.

Offtopic: Variabelen buiten quotes halen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
// fout
echo "$tijd";

// goed
echo $tijd;
?>

Een variabele is geen string.
 
Ren

Ren

20/11/2006 14:02:00
Quote Anchor link
Ben nu toch aan het kijken of ik wel TIMEDIFF. Dacht dat ik het 'ook' (las ergens dat iemand het niet had) niet kon gebruiken. Is er dan iets mis met de code?

Heb hem nu wat simpeler als dat hij moet worden: (komt ged. uit een ander topic)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
include("connect.php");

    $sql = "SELECT timediff( '2008-01-01 00:01:00', '2007-12-31 23:59:00' ) AS verschil";
    $query = mysql_query($sql) or trigger_error (mysql_error ());
    $tijd = mysql_fetch_object($query);

    $tijdBrokken = explode(':',$tijd->verschil);


    echo ' <TD ALIGN="right" STYLE="padding-right: 9px">'.$tijdBrokken[0].'</TD></TR>';    

?>


Krijg nu de foutmelding :


Notice: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '( '2008-01-01 00:01:00', '2007-12-31 23:59:00' ) AS verschil' a in /var/www/vhosts/zeilschoolaalsmeer.nl/httpdocs/2007/verschil.php on line 5

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/zeilschoolaalsmeer.nl/httpdocs/2007/verschil.php on line 6
 
Frank -

Frank -

20/11/2006 14:11:00
Quote Anchor link
Met de query is niets mis, werkt uitstekend in MySQL 4.1.12. check eens even welke versie je gebruikt. Dat kun je met de volgende query opvragen: SHOW VARIABLES
 
Ren

Ren

20/11/2006 14:49:00
Quote Anchor link
Frank schreef op 20.11.2006 14:11:
Met de query is niets mis, werkt uitstekend in MySQL 4.1.12. check eens even welke versie je gebruikt. Dat kun je met de volgende query opvragen: SHOW VARIABLES


$4.0.24-standard

DUs ik kan idd geen timediff gebruiken. mmmmm
 
Frank -

Frank -

20/11/2006 14:57:00
Quote Anchor link
Tja, dan blijven er maar 2 mogelijkheden over:
1) Updaten naar een hogere database-versie (aan te raden)
2) De berekeningen in PHP uitvoeren. Hiermee verlies je alleen de kracht van de database, dit gaat performace-verlies betekenen. Tevens ben je het wiel opnieuw aan het uitvinden en zul je dus meer bugs in je code krijgen.
 
PHP Newbie

PHP Newbie

20/11/2006 15:48:00
Quote Anchor link
moet timedif niet in HOOFDLETTERS?
 
Joren de Wit

Joren de Wit

20/11/2006 16:39:00
Quote Anchor link
Nee dat hoeft niet, mysql is niet hoofdlettergevoelig.
 
Klaasjan Boven

Klaasjan Boven

20/11/2006 16:57:00
Quote Anchor link
PHP Newbie schreef op 20.11.2006 15:48:
moet timedif niet in HOOFDLETTERS?


is alleen maar een goed gebruik
 
Peter Somhorst

Peter Somhorst

20/11/2006 17:18:00
Quote Anchor link
Maar wat is nou uiteindelijk het doel? Wil je de tijd tot een bepaald moment bepalen? Neem dan de UNIX-timestamp (time(); of maketime();). Verzin dan zoiets:

$verschil = $moment_in_toekomts - $nu;

Volgens mij moet je zelf wel kunnen verzinnen hoe je een aantal seconden omzet in dagen/uren/minuten!
 



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.