tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
5209
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Newcomer1
    Newcomer1 Newcomer1 ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    73
    Hallo wieder mal!
    Problem, schein auf der Leitung zu stehn:

    Ich habe eine Datumabfrage geschrieben mit der ich von mysql Daten auslese
    Die Struktur der Datenbank ist folgende:
    Code :
    1
    
    id|tag|monat|jahr|nochwas|usw.

    Wenn ich die Daten auslese, so wird das ganze automatisch nach "id" sortiert.
    Das ist aber ein Problem da ältestes Datum nicht kleinster id entspricht.

    Also meine Frage
    Wie kann ich "tag|monat|jahr|" bei der mysql Abfrage
    Code :
    1
    
    "Select * From tabelle oder by [B]DATUM formatiert[/B]"

    einsetzten, dass es eine geordnete Ausgab gibt?
    Möglicherweise mit einem Array? Bitte um Vorschläge, Hinweise, Links etc.


    Dankeeeee
     
    1:2:3:5:8:13:21:34:55... Wenn das der Goldene Schnitt ist, WO IST DANN 42 ?

  2. #2
    Avatar von Newcomer1
    Newcomer1 Newcomer1 ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    73
    Hab da grade was gefunden, funktioniert aber nicht:
    Kann mir das jemand näher erläutern:
    PHP-Code:
    mysql
    SELECT CONCAT(last_name,', ',first_name) AS full_name ORDER BY full_name 
     
    1:2:3:5:8:13:21:34:55... Wenn das der Goldene Schnitt ist, WO IST DANN 42 ?

  3. #3
    German German ist offline Mitglied Brokat
    Registriert seit
    Jul 2004
    Ort
    (Bayern)
    Beiträge
    464
    Vermutlich bringt das ', ' den Wurm rein
    Code :
    1
    
    SELECT CONCAT(last_name,', ',first_name) AS full_name ORDER BY last_name,first_name
    Zu deinem Datumsproblem:
    Es ist absoluter Quatsch die Bestandteile eines Datums in eigene Spalten zu speichern.
    Dafür gibt es das Spaltenformat Date 'yyyy-mm-dd' und das eignet sich wunderbar zum Sortieren, Rechnen und Selektieren:
    http://dev.mysql.com/doc/refman/4.0/...functions.html
     
    Gruß German

  4. #4
    Avatar von Newcomer1
    Newcomer1 Newcomer1 ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    73
    Danke für deine Antwort,

    Das mit dem Datum hab ich vorher bereits so gehabt wie du es beschreibst.
    Leider habe ich es nicht geschaft damit eine Datumsabfrage zu schreiben.
    Hab das deshalb geändert.
    Vorher wars so

    z.B. das Formular:
    Code :
    1
    2
    3
    4
    
    <form name="" action="zu der Auswertung" method="post"> [COLOR=Sienna]//zur mysql abfrage[/COLOR]
    Datum angeben:(YYYY-MM-DD)<input type="text" name="datum_formular"><br>
    <input type="submit" value="Abfrage">
    </form>

    Die MySql Anweisung:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    $datum_formular = $_POST['datum_formular'];[COLOR=DarkOliveGreen] //Datum von Formular übergeben[/COLOR]$sql = mysql_query("SELECT * FROM tabelle WHERE datum = '$datum_formular' "); 
    while ($ds = mysql_fetch_object($sql)) {
       $id = $ds -> id;
       $datum = $ds -> datum; [COLOR=DarkOrange]//Hier lwird das Datum im Format 'YYYY-MM-DD' ausgelesen...[/COLOR]   $ort = $ds -> ort;
       $link = $ds -> link;
       $band = $ds -> band;
       $veranstaltung = $ds -> veranstaltung;
       $info = $ds -> info;
     
    echo "alles was oben steht...";

    Die Ordnung eh wunderbar so mit mysql datum YYYY-MM-DD
    Liegt vermutlich an den Strichen "-" dass nix übergeben wird

    gruß,
     
    1:2:3:5:8:13:21:34:55... Wenn das der Goldene Schnitt ist, WO IST DANN 42 ?

  5. #5
    Avatar von Newcomer1
    Newcomer1 Newcomer1 ist offline Mitglied Silber
    Registriert seit
    Apr 2005
    Beiträge
    73
    OK HAT SICH ERLEDIGT!

    Bin wirklich auf der Leitung gestanden tststs

    Brauch ja nur die sql anweisung "...WHERE datum LIKE '$datum'..."einsetzten.

    Trotzdem, Danke nochmal!
     
    1:2:3:5:8:13:21:34:55... Wenn das der Goldene Schnitt ist, WO IST DANN 42 ?

  6. #6
    bigbrother09 bigbrother09 ist offline Grünschnabel
    Registriert seit
    Jul 2009
    Beiträge
    1
    Hallo,

    ich hab ein Problem und zwar ich habe in meiner Datenbank ein Datum in Datetime drinstehen und will ich aus dem Datum 2008-01-05 nur den Monat rausfiltern

    und mit einer mysql_query ausgeben, kann mir jemand helfen?

    Grüße
     

  7. #7
    Avatar von Loomis
    Loomis Loomis ist offline Mitglied Bunt
    Registriert seit
    Jul 2002
    Ort
    Aschaffenburg
    Beiträge
    1.538
    Hi,
    es gibt für MySql zahlreiche Datumsfunktionen.

    entweder so:
    Code sql:
    1
    2
    3
    4
    
    SELECT
        MONTH(`datum`) AS `monat`
    FROM
        `tabelle`
    Damit bekommst du den Monat als Zahl (1-12).

    Oder so:
    Code sql:
    1
    2
    3
    4
    
    SELECT
        MONTHNAME(`datum`) AS `monat`
    FROM
        `tabelle`
    Gibt den Monatsnamen (auf englisch) zurück.

    //edit:
    Und hier noch eins:
    Code sql:
    1
    2
    3
    4
    
    SELECT
        DATE_FORMAT(`datum`,"%d") AS `monat`
    FROM
        `tabelle`
    Geändert von Loomis (08.07.09 um 20:26 Uhr)
     
    mfg
    --------------------------------------------------------------------------------
    Kein Support via PN, Email, ICQ, Brieftaube oder Flaschenpost!

    Besucht den tutorials.de-Chat | Anleitung
    RTFM - PHP-Handbuch - MySql Handbuch
    --------------------------------------------------------------------------------
    Surftipp...Der Postillon
    --------------------------------------------------------------------------------
    Signatur v2.2

Ähnliche Themen

  1. Antworten: 13
    Letzter Beitrag: 23.10.07, 19:43
  2. Antworten: 5
    Letzter Beitrag: 15.10.07, 16:56
  3. mySQL auslesen anhand Datum (Monat)
    Von nafets im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 11.11.06, 09:00
  4. Datum in Tag, Monat, Jahr teilen?
    Von Jacizzle im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 24.08.05, 10:20
  5. Antworten: 0
    Letzter Beitrag: 24.07.05, 16:28