Avatar billede krk Nybegynder
17. juni 2008 - 21:30 Der er 7 kommentarer og
1 løsning

Sortering på dato felt

Hej

Hvordan kan jeg sortere på et dato felt?
Jeg har lavet et lille eksempel, der ser ud som nedenstående (kommer længere nede)
Jeg vil gerne have at brugeren taster en dato ind i et input felt. Datoen skal se sådan ud: 17-06-2008. Derfor vil det være rart hvis dags dato står i feltet som standard.
Mit problem lige nu er at jeg ikke kan indsætte en dato i databasen og derfor ikke sortere på datoen.

I databasen hedder tabellen: datoer og felterne dato_id og dato_dato.
Feltet dato_dato har datotypen: datetime

Koden ser sådanne du:
<?php
if($send){   
    $query1    = "INSERT INTO datoer(
                dato_id,
                dato_dato)
               
                VALUES
                ('null','$dato_dato');";
    $result        = mysql_db_query ($database, $query1, $link );
    print"data er blevtet registreret";
}

print"
    <form  method='post' action='?page=dato' id='formLob' name='f'>
        <div class=''>Dato:<input type='text' name='dato_dato' value='' tabindex='1'></div>
         
          <input type='submit' name='send' value='Tilføj' tabindex='6'>
          <img src='img/1x1.gif' alt='' onLoad='cursor()' />
    </form>
    <div class='clear'></div>";   
?>

<?php
    $query = "SELECT * FROM datoer order by dato_dato;";
    $result    = mysql_db_query ($database, $query, $link );
    if (mysql_num_rows($result) == 0) {
        print"ingen data";
    }else{
        while($row = mysql_fetch_array($result)){
            $dato_id            = $row[dato_id];
            $dato_dato            = $row[dato_dato];
                           
            print"<div id='Item'>
                    <div class=''> $dato_id. </div>
                    <div class=''>Distance: $dato_dato  </div>
                </div>";
        }       
    }       
                   
?>
Avatar billede erikjacobsen Ekspert
17. juni 2008 - 21:54 #1
Ikke indsætte - hvad sker der?

Det er ret gammeldags at antage at registerglobals er slået til, og at din $send-variabe har noget indhold. Brug $_POST['send'].

Og hvis du vil være helt sikker på at du får datoen korrekt ind, så brug formatet '2008-06-17' - du skal måske konvertere til og fra hvad brugeren ser.
Avatar billede krk Nybegynder
17. juni 2008 - 22:11 #2
jeg har i et dokument der hedder variabler.php $send = $_POST['send']; så det skulle være rigtig nok. Jegf kan også se at når jeg klikker Send så kommer der en ny række i databasen med et id, men ikke nogen dato. Så der bliver sendt til databasen.

Jeg har ikke helt tjek på hvordan jeg konvertere en dato der kommer fra databeasen (ser sådan du: 2008-06-07 20:55:50) til det brugeren skal se (10-06-2008)

Kan du hjælpe mig med det?
Avatar billede erikjacobsen Ekspert
17. juni 2008 - 22:16 #3
Hovsa - du forvirrer os ;)  Du stiller spørgsmålet i MSSQL-kategorien, men bruger mysql.

I mysql skal du indsætte som '2008-06-17', og det får du også som svar. Skal du så bytte rundt på år-måned-dag kan du fx bruger http://php.net/split
Avatar billede krk Nybegynder
17. juni 2008 - 22:22 #4
Der kan du bare se hvor lidt forstand jeg har på det ;-)
Hvis du smider et svar, så får du nogle point og jeg åbner spørgsmålet i den rigtige kategori
Avatar billede erikjacobsen Ekspert
17. juni 2008 - 22:42 #5
Vi kan da bare fortsætte her. Nu er det jo egentlig mere et PHP spørgsmål. Kan du klare det med split-funktionen?
Avatar billede krk Nybegynder
05. juli 2008 - 19:37 #6
Hej igen. Skulle lige igennem en ferie :-)
Split-funktionen virker fint.
Så tak for hjælpen og undskyld den lange ventetid.
Du henter bare point
Avatar billede erikjacobsen Ekspert
05. juli 2008 - 20:30 #7
Jeg samler slet ikke på point, tak. Svar selv, accepter dit eget svar.

(Ja, det er hårdt at holde ferie...)
Avatar billede krk Nybegynder
06. juli 2008 - 10:08 #8
Okay, men tak for hjælpen
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