Har en tabel der hedder dato i databasen! Dette er smidt ind som varchar...
Når jeg hiver dem ud, så ser en dato fx sådanne ud: 05/5-2006 --------------------------------
Jeg skal have min SQL til at sortere efter det 4 tegn i den streng? Altså måneden! Når den sortere sådan som det gør nu, vil de ikke komme til at stå korrekt når du vil sortere efter en dato!
Opret et DATETIME felt i databasen der hedder "nydato". Så kan du bruge denne kode til at ændre det. Bemærk at jeg antager at din PRIMARY KEY hedder "id" og dit nuværende datofelt hedder "dato":
$sql = "SELECT id, dato FROM tabel"; $qh = mysql_query( $sql ) or die( mysql_error() ); while ( $row = mysql_fetch_assoc( $qh ) ) { $realdate = preg_replace( "!(\d+)/(\d+)-(\d+)!", "\\3-\\2-\\1 0:00:00", $row['dato'] ); $sql = "UPDATE tabel SET nydato = '$realdate' WHERE id = $row[id]"; mysql_query( $sql ) or die( mysql_error() ); }
Derefter kan du checke at nydato indeholder det rigtige, og så droppe "dato"-feltet fra databasen.
Synes godt om
Slettet bruger
04. maj 2006 - 20:16#7
smart, og så bagefter kan du så rename dit felt "nydato" til "dato", og så har du kommet uden om, og kan nu sorter rigtigt som du vil.
Synes godt om
Ny brugerNybegynder
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.