Avatar billede tobrukDk Novice
30. maj 2012 - 23:18 Der er 20 kommentarer og
1 løsning

dato ind i databasen - mysqli

hej

det er sådan at jeg er ved at bygge min eget forum men det er sådan at jeg skal have "sæt" dato ind i databasen altså f.eks 30-5-2012 skal det se ud men sådan skal det ud også se ud når man trækker det ud af databasen.

jeg har bygge det op sådan her i mysqli


<?php
    if ($stmt = $mysqli->prepare('INSERT INTO `forum` (`title`, `tekst`, `dato`, `id_brugere`) VALUES (?, ?, ?, ?)')) {
    $stmt->bind_param('ssss', $title, $tekst, $dato, $id_brugere);
    //fra input ting ting..
    $title = $_POST["title"];
    $tekst = $_POST["tekst"];
    $dato; // dato her !!...
    $id_brugere = $_SESSION["user_id"];
   
    $stmt->execute();
    $stmt->close();
    //er der fejl i tilgangen til table..
    } else {
        echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
    }
    ?>


der hvor jeg har skrevet dato her !!... der skal jeg have lavet en function som gøre at den ligger ind den dag hvor man opret eller ligge ind i databasen. så vil høre om du/i har mulighed for at kunne hjælp mig da :D håber du kan hjælp mig videre :D
Avatar billede tobrukDk Novice
30. maj 2012 - 23:20 #1
klart det med

$dato = time();
Avatar billede jakobdo Ekspert
30. maj 2012 - 23:36 #2
Bedre løsning:

  if ($stmt = $mysqli->prepare('INSERT INTO `forum` (`title`, `tekst`, `dato`, `id_brugere`) VALUES (?, ?, NOW(), ?)')) {
    $stmt->bind_param('sss', $title, $tekst, $id_brugere);

Har fjernet et ? og $dato og indsat NOW() i din query.
Avatar billede tobrukDk Novice
31. maj 2012 - 20:54 #3
tak for hjælp det hjælp meget bedre !

men nu skal jeg bare havde klart det der med at den ligesom at frem vise dato :)

jeg har prøve gøre sådan her


<?php echo date("d-M-Y", strtotime($dato['dato']));?>


den skriver bare dato sådan her

Dato: 01-Jan-1970
Avatar billede jakobdo Ekspert
31. maj 2012 - 21:26 #4
Den gemmer dato i "almindelig" dato format: YYYY-MM-DD, så hvis du vil arbejde videre med den i strftime() så du kan få danske måned,ugedage etc. Så lav datoen om med UNIX_TIMESTAMP(), det er en mysql funktion.
Avatar billede tobrukDk Novice
31. maj 2012 - 21:38 #5
jamen jeg skal bare have bygge det om til dansk dato, men omkring unix_timestamp(), hvad gøre den?

hvor kan jeg finde den?,

jeg har fundt noget ligne i den still ind? Standardværdi?
Avatar billede jakobdo Ekspert
31. maj 2012 - 22:37 #7
Avatar billede tobrukDk Novice
01. juni 2012 - 00:48 #8
De 2 links du har sendt til mig forstår jeg ikk en skide af. sorry mit ordsprog. men det siger mig intet lige nu overhovedet hmm
Avatar billede tobrukDk Novice
01. juni 2012 - 00:55 #9
jamen jeg tænker lidt hvorfor ikke bare lige den til dansk dato endnu jeg ligger den i databasen? og så der efter kan jeg bare tag den normalt?
Avatar billede jakobdo Ekspert
01. juni 2012 - 22:56 #10
Måske du i morgen ville lave en svensk udgave.
Så er det da rart at kunne gøre det.
Og prøv at se eksempler på de 2 links jeg har sendt.
Avatar billede tobrukDk Novice
02. juni 2012 - 00:37 #11
ja okay det kan jeg godt se ;) men skal jeg stadig bruge det til at tag ud fra databasen? eller hvordan havde du tænkt dig det?
Avatar billede tobrukDk Novice
02. juni 2012 - 00:48 #12
jeg har prøve at tag en kopie af nogle deres f.eks og det vil overhovedet ikke virker på nogle måde.. hmm jeg har prøve del af dem som jeg mener at jeg kunne bruge til siden men det hjælp ikke rigtigt.. hmmm
Avatar billede tobrukDk Novice
02. juni 2012 - 23:54 #13
#6, men skal jeg ikke bare lave et  TIMESTAMP til databasen? eller vil det være spille af tide at gøre det overhovedet??
Avatar billede jakobdo Ekspert
03. juni 2012 - 11:30 #14
Kort fortalt.
Når du indsætter en dato, kan du bruge:

INSERT INTO tabel_navn(datotid) VALUES (NOW())

Når du så skal trække det ud, bruger du:

SELECT UNIX_TIMESTAMP(datotid) as UNIX FROM tabel_navn

Så laver du:

setlocale("da-dk"); //Eller hvad den nu hedder på dit system.
echo strftime("FORMATTER",$database['unix']); //Tjek formatter på dk.php.net/strftime
Avatar billede tobrukDk Novice
03. juni 2012 - 16:36 #15
så det vil sige at når jeg ligge noget ind i databasen så gør jeg det 2 gang eller hvad? det er sådan jeg forstår det ?
Avatar billede tobrukDk Novice
03. juni 2012 - 17:56 #16
Avatar billede tobrukDk Novice
03. juni 2012 - 18:15 #17
jo jo

<?php
            if ($stmt = $mysqli->prepare("SELECT id_forum, title, tekst, date_format(dato,'%d-%m-%Y') `as dato`, id_brugere FROM `forum` ORDER BY  `forum` . `id_forum` DESC LIMIT 0 , 30"))
            {
            $stmt->execute();
            $stmt->store_result();
            $stmt->bind_result($id_forum, $title, $tekst, $dato, $id_brugere);
            $count_res = $stmt->num_rows;
           
            if($count_res > 0)
            {
            while ($stmt->fetch()) {   
            ?>


jakobdo lige et svar som tak for hjælpen!!
Avatar billede jakobdo Ekspert
03. juni 2012 - 21:13 #18
Du har selv lagt et svar tidligere, så behold du det bare ved det.
Avatar billede tobrukDk Novice
03. juni 2012 - 21:47 #19
sorry men jeg opret bare et nyt så da :)
Avatar billede jakobdo Ekspert
03. juni 2012 - 21:52 #20
Lige meget.
Avatar billede tobrukDk Novice
04. juni 2012 - 17:27 #21
Iorden tak igen!!!! det hjælp utrolig meget da!! :D men du læret mig også noget nyt igen da.. :D
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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