14. marts 2004 - 19:21Der er
18 kommentarer og 1 løsning
datetime - hvor lang tid, til given dato
Davs igen... Jeg har i en tabel: følgende:
vipend DATETIME,
I denne er der fx. 2005-01-11 19:12:59
Det jeg gerne vil er så, at se hvor mange dage der er fra dags dato og frem til det tidspunkt som der er i "vipend" i dette tilfælde "2005-03-14 19:12:59"..
<?php $id //den skal du sætte til en værdi $conn = mysql_connect('servernavn','db_brugernavn','password') or die('Could not connect!'); $result = mysql_query("SELECT DATEDIFF(CURDATE(),vipend) AS dage FROM dit-tabelnavn WHERE id = $id",$conn); $dage = mysql_fetch_row($result); echo $dage[0]; mysql_close($conn); ?>
Jeg får følgende fejl: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /STORE/blablablablabla/blablabla/myprofile.php3 on line 39
her er en lille funktion jeg skrev i tidernes morgen. Du skal nok lige tilpasse det for at det virker i dit tilfælde, men det burde være til at overkomme :)
<?php
/* Udregner hvor lang tid der er tilbage til en bestemt dato */
// opretter functionen. 'Dag', 'måned' og 'år' er påkrævet. //'timer', 'minutter' og 'sekunder' bliver sat til nu, hvis andet ikke er angivet. function tid_tilbage($dag, $maaned, $aar, $timer = '0', $minutter = '0', $sekunder = '0') {
// Finder antal sekunder siden 1/1-1970. $tid_nu = time();
// Finder antal sekunder mellem 1/1-1970 og den pågældende dato $tid_input = mktime($timer,$minutter,$sekunder,$dag,$maaned,$aar);
// Finder forskellen i sekunder. $tid_forskel = $tid_input - $tid_nu;
// Laver en streng, som indeholder 'dage, 'timer', 'minutter' og 'sekunder' tilbage til indput-datoen $output = "Der er ". date("z", $tid_forskel)." dage, ". date("H", $tid_forskel)." timer, ". date("i", $tid_forskel)." minutter og ". date("s", $tid_forskel)." sekunder tilbage til den $dag/$maaned-$aar :)";
<?php $conn = mysql_connect("hostname","username","password") or die("Could not connect!"); $id = 1; $use_db = 'USE db_name'; //DENNE LINIE MANGLEDE - NU SKULLE DET VIRKE mysql_query($query,$conn); $query = "SELECT DATEDIFF(vipend,CURDATE()) AS dage FROM tablename WHERE id = $id"; $result = mysql_query($query,$conn); $dage = mysql_fetch_row($result); echo $dage[0]; mysql_close($conn); ?>
tefcke > Jeps... Tak for, du gjorde mig opmærksom på, at DATEDIFF først er kommet med i 4.1.1. Det var jeg ikke lige opmærksom på. Onlinedokumentationen på www.mysql.com er for 5.0.0-alpha, har jeg lige lagt mærke til ;o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.