Avatar billede thomas_it Nybegynder
07. januar 2001 - 13:09 Der er 14 kommentarer og
4 løsninger

Dato

Hej
Jeg vil meget gerne have hjælp til at finde ud af hvordan jeg indsætter dato\'en på den ting der bliver indsat i databasen. Altså...hvis folk nu skal skrive et eller anden...eks en gæstebog..så vil jeg meget gerne vide hvordan man får datoen og klokkeslættet sat ind i mysql databasen! ;o)
Tak på forhånd!

- Thomas
Avatar billede mjl Nybegynder
07. januar 2001 - 13:11 #1
Ja - hvordan...
Avatar billede lauer Nybegynder
07. januar 2001 - 13:12 #2
Du kan bruge time() og date() eller timestamp
Avatar billede thomas_it Nybegynder
07. januar 2001 - 13:14 #3
Hvordan skal det gøres?

    mysql_query(\"INSERT INTO XX (id,ip,name,date) values (\'\',\'$ip\',\'\',\'date()\')\");

eller hva?
Avatar billede blood Nybegynder
07. januar 2001 - 13:16 #4
eller sårdan
$dato = time();
mysql_query(\"INSERT INTO XX (id,ip,name,date) values (\'\',\'$ip\',\'\',\'$dato\')\");
Avatar billede halnet Nybegynder
07. januar 2001 - 13:17 #5
Du kan lave et felt i din mysqldb der er et timestamp(14). Når man så ligger noget ind i db\'en opdaterer tiden automatisk.

- Anders
Avatar billede blood Nybegynder
07. januar 2001 - 13:18 #6
og når du skal hente den ud fra din database igen
kan du få hjælp her http://www.php.net/manual/function.date.php
Avatar billede thomas_it Nybegynder
07. januar 2001 - 13:24 #7
Det med den der Timestamp(14)
skal der være andet der skal aktiveres?
altså..null og de andre ting?

- Thomas
Avatar billede thomas_it Nybegynder
07. januar 2001 - 13:25 #8
ok..det med timestamp virkede..
..men nu er problemet..hvordan får jeg den til at lave \":\" imellem tiden..og \"-\" imellem dato??
Avatar billede halnet Nybegynder
07. januar 2001 - 13:29 #9
Der bruger du substr() til at dele den op i mindre stykker. Det kan du læse mere om i manualen.

- Anders
Avatar billede thomas_it Nybegynder
07. januar 2001 - 13:30 #10
*hader manualer - men prøver at læse den!*
Avatar billede thomas_it Nybegynder
07. januar 2001 - 13:31 #11
fatter altså ikke rigtig manualen..der står:

I have been having some problems taking a date entry from a MySQL database (YYYY-MM-DD) and using the date() command to format.

I wasnt able to just insert the query output into the date() command because it kept defaulting to 1st jan 1970. The only way I was able to do it was with the following.
$date=$query_disp[date];
$year=substr($date,0,4);
$month=substr($date,5,2);
$day=substr($date,8,2);
$fdate = date(\"jS F Y\",mktime (0,0,0,$month,$day,$year));


og jeg tænker..ehm..okay?
Avatar billede halnet Nybegynder
07. januar 2001 - 13:35 #12
Det ser meget rigtigt ud... ;o)

- Anders
Avatar billede thomas_it Nybegynder
07. januar 2001 - 13:40 #13
ehm...hvad er $date=$query_disp[date]
Avatar billede halnet Nybegynder
07. januar 2001 - 13:47 #14
Hvis dette kan hjælpe er det godt... jeg har i et felt datoen gemt som YYYYMMDD - dette er hvad jeg gør:

$dato = substr($row[\"dato\"],6,2).\"-\".substr($row[\"dato\"],4,2).\"-\".substr($row[\"dato\"],0,4);

$dato er så nu: DD-MM-YYYY

- Anders
Avatar billede thomas_it Nybegynder
07. januar 2001 - 13:53 #15
hmm..
jeg er altså MEGA forvirret lige nu...du kan se mit script her..prøv så at fortælle mig hvordan det skal være:

<?
    require(\"config.php\");

    mysql_connect($host, $dbuser, $dbpass);
    mysql_select_db($database);

    class WellUsers
    {
        function register()
        {
            $nar = func_num_args();
            if( $nar != 9 )
                return 0;
            $args = func_get_args();
            $result = MYSQL_QUERY(\"SELECT * FROM gb WHERE navn=\'$args[0]\' AND alder=\'$args[1]\' AND city=\'$args[2]\' AND land=\'$args[3]\' AND mobil=\'$args[4]\' AND icq=\'$args[5]\' AND hp=\'$args[6]\' AND mening=\'$args[7]\' AND email=\'$args[8]\'\");
            if( ($num = mysql_numrows($result)) == 1 )
                return 0;
            require(\"config.php\");
            if( !MYSQL_QUERY(\"INSERT INTO gb (navn, alder, city, land, mobil, icq, hp, mening, email)
                              VALUES(\'$args[0]\', \'$args[1]\', \'$args[2]\', \'$args[3]\', \'$args[4]\', \'$args[5]\', \'$args[6]\', \'$args[7]\', \'$args[8]\')\") )
                return 0;
            if( !MYSQL_QUERY(\"INSERT INTO gb (ip)
                              VALUES(\'$ip\')\") )
            return 1;
        }

        function display_error($errormsg)
        {
            echo $errormsg;
        }
    }
?>

vil du ikke nok? ;o)
Avatar billede thomas_it Nybegynder
07. januar 2001 - 14:03 #16
slet ingen der kan hjælpe?:(

- Thomas
Avatar billede halnet Nybegynder
07. januar 2001 - 16:06 #17
Det du har vist her returnerer jo ikke noget fra db\'en... det returnerer jo kun \"sandt\" eller \"falskt\".

For at bruge det jeg har skrevet 13:47:50 skal du have et felt i din db som indeholder YYYYMMDD + evt. HHiiSS (YYYYMMDDHHiiSS).

Bare gem det i et felt der hedder \"dato\" og så kan du bruge det jeg har skrevet.

- Anders
Avatar billede asse Nybegynder
09. januar 2001 - 14:57 #18
Hvis du bare skal sætte datoen for oprettelsen af en tuppel/række ind i databasen, skal du kalde dato med now().
DVS. Istedet for:
mysql_query(\"INSERT INTO XX (id,ip,name,date) values (\'\',\'$ip\',\'\',\'date()\')\");
Skriver du:
mysql_query(\"INSERT INTO XX (id,ip,name,date) values (\'\',\'$ip\',\'\',\'now()\')\");
M.V.H Andreas

Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester