php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.04.2005, 13:35  
Gast
 
Beiträge: n/a
Standard Datumssortierung funktioniert bei MySQL nicht richtig

Hi,

ich habe ein kleines Problem mit der Sortierung bei einem Terminkalender. Ich habe in einer MySQL Datenbank je ein Feld für Beginn und Ende des Termins als "DATE" formatiert.

Im Formular muss man das Datum dann in folgender Weise eingeben: TT.MM.JJJJ

Mit der nächsten Funktion hole ich mir dann den Tag, Monat und das Jahr aus dem string raus und wandle das Datum in das Format "YYYY-MM-DD", wie es ja in der MySQL Datenbank gespeichert werden muss, um:
PHP-Code:
<?php
    
function setDate($date)
    {
        
$day substr($date02);
        
$month substr($date32);
        
$year substr($date64);

        
$date $year.'-'.$month.'-'.$day;
        return 
$date;
    }
}
?>
Das funktioniert auch alles Prima, allerdings habe ich bei der Ausgabe das Problem, dass es nicht chronologisch ausgegeben wird. Ich sortiere nach dem Startdatum Aufwärts. Hier ist noch der Query:
PHP-Code:
<?php
function get($search)
    {
        global 
$cfg$page;

        
$limit $cfg['limit']['markets'];
        
// offset für den Query bestimmen
        
$offset = ($page 1) * $limit;

        
$sql "SELECT DATE_FORMAT(date_start, '%d.%m.%Y') AS date_start, DATE_FORMAT(date_stop, '%d.%m.%Y') AS date_stop, city, comments, id FROM {$cfg['db']['markets']}";

        if (
$search != "")
        {
            
$sql .= " WHERE $search";
        }

        
$sql .= " ORDER BY date_start ASC LIMIT ".$offset.",".$limit.";";

        return 
$sql;
    }
?>
Und noch der Link zur Ausgabe: http://www.galerie-neander.de/markets.php

Wenn alles richtig wäre müsste die Ausgabe so sein:
Zitat:
05.03.2005
12.03.2005
06.05.2005
14.05.2005
Irgendwie behandelt MySQL das Datum nicht als DATE, sondern als normalen String, wodurch dann die aktuelle Sortierung logisch wäre...
Kann mir jemand helfen, wie ich ein beliebiges Datum auch als DATE in ner MySQL Datenbank speichere?
mfg koelle
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.04.2005, 13:43  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

öhm kann es ein dass es ein problem ist, dass du

DATE_FORMAT(date_start, '%d.%m.%Y') AS date_start

date_start wieder AS date_start speicherst? woher weist du am ende nach wlechem date_start er beim sortieren sortiert?

mfg
robo47
robo47 ist offline  
Alt 01.04.2005, 14:00  
Gast
 
Beiträge: n/a
Standard

Hi,

auf die Idee wär ich nie gekommen. Es schien ein Problem zu sein, zumindest ist die Sortierung jetzt richtig. Hoffentlich bleibt sie das auch.

Ich habe jetzt im Query bei DATE_FORMAT as event_start und event_stop und dann sortiert nach date_start.

Danke für die Hilfe.

mfg koelle
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mysql insert funktioniert net Smilerr PHP Tipps 2008 4 08.03.2009 14:02
[Erledigt] Apache funktioniert nicht richtig YYA Server, Hosting und Workstations 5 16.06.2008 15:24
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
mySQL Code wird nicht richtig ausgeführt O.O Chrisber PHP Tipps 2006 7 23.02.2006 16:30
Warum funktioniert meine Statistik nicht richtig? Calli PHP Tipps 2007 1 27.11.2005 08:49
Script funktioniert nicht richtig -> fehlermeldungen PHP Tipps 2005-2 2 12.09.2005 11:29
MySQL Befehl wird nicht richtig ausgeführt! c-bass PHP Tipps 2005-2 3 21.07.2005 17:29
Karte funktioniert nicht ganz richtig ( koardinaten system ) PHP Tipps 2005-2 7 15.06.2005 16:48
PHP funktioniert nicht richtig?! PHP Tipps 2005-2 26 11.06.2005 09:05
Pfadange in mysql speichern - funktioniert nicht Calli PHP Tipps 2004-2 8 30.11.2004 15:41
Grafik in MySQL und richtig unter php wieder ausgeben! Boennchen PHP Tipps 2004-2 4 26.11.2004 15:25
datenübergabe funktioniert nicht richtig Fraylman PHP Tipps 2004 6 25.08.2004 13:49
Emailversendung funktioniert nicht richtig PHP Tipps 2004 1 11.08.2004 23:16
MySQL sortiert nicht richtig DutziMan Datenbanken 1 21.07.2004 13:24
php funktioniert nicht richtig PHP Tipps 2004 3 14.06.2004 08:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datums sortierung, mysql sortiert date nicht richtig, mysql datum yyyymmdd substring

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.