tutorials.de Buch-Aktion 05/2012
Like Tree3Danke
  • 1 Beitrag von chmee
  • 1 Beitrag von chmee
  • 1 Beitrag von chmee
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
624
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    styler2go styler2go ist offline Mitglied Gold
    Registriert seit
    Mar 2008
    Ort
    Gründau
    Beiträge
    149
    Hallo,

    ich muss nochmal zu einem Thema ein Thread aufmachen.
    Und zwar möchte ich eine MySQL ausgabe sortiert nach einem Array ausgeben.

    Das Array sieht dabei so in etwa aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    Array
    (
        [Techno] => 5
        [Rap] => 5
        [Metal] => 9
        [Rock] => 12
     
    )
    In dem Fall soll aus der Datenbank zuerst alles mit Rock, dann alles mit Metal, und dann alles mit Techno und Rap ausgegeben werden. Wie ist das möglich? mit einer stinknormalen Abfrage wird das ja sicher nicht gehen, oder?
     

  2. #2
    Avatar von chmee
    chmee chmee ist offline mod | media
    tutorials.de Moderator
    Registriert seit
    Apr 2004
    Ort
    Berlin bei Potsdam
    Beiträge
    7.630
    Blog-Einträge
    4
    GROUP BY sollte weiterhelfen, denk ich.

    Abgesehen davon, wenn Du einen stinknormalen ORDER BY machst, dann sind die Kategorien quasi auch zusammen..

    mfg chmee
    styler2go bedankt sich. 
    Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
    Benutzt den DANKE-Knopf oder bewertet den Beitrag

    "GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
    -> Regexp <- -> php <- -> Javascript <-

  3. #3
    styler2go styler2go ist offline Mitglied Gold
    Registriert seit
    Mar 2008
    Ort
    Gründau
    Beiträge
    149
    Ja das ist klar aber, wie soll ich das eben nach dem Array sortieren? Dazu muss ich doch erstmal wissen was das größte ist usw.?
     

  4. #4
    Avatar von chmee
    chmee chmee ist offline mod | media
    tutorials.de Moderator
    Registriert seit
    Apr 2004
    Ort
    Berlin bei Potsdam
    Beiträge
    7.630
    Blog-Einträge
    4
    Sorry, ich kann Dir nicht ganz folgen.

    Ist es so richtig? Zuerst mit GROUP BY / COUNT gruppieren und zählen, damit dann die Reihenfolge der Lieder aus den Kategorien (kleinste Kat.Count zuerst) aufzählen?

    mfg chmee
    styler2go bedankt sich. 
    Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
    Benutzt den DANKE-Knopf oder bewertet den Beitrag

    "GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
    -> Regexp <- -> php <- -> Javascript <-

  5. #5
    styler2go styler2go ist offline Mitglied Gold
    Registriert seit
    Mar 2008
    Ort
    Gründau
    Beiträge
    149
    Ich kann dir ebenfalls gerade nicht folgen. Also nochmal

    Ich habe eine Datenbank mit Liedern. In dieser Datenabnk hat jedes Lied 3 Genres zugeordnet.
    Code :
    1
    2
    3
    4
    5
    
    id | name | genre2 | genre2 | genre3
    --------------------------------------------------
    1 | Bla   | Techno |  Rap   |Dancehall
     
    [...]

    Diese sollen jetzt, je nachdem welches im oben gezeigten Array stehende Genre die höchste Nummer hat, sortiert werden.
    Dazu muss uich aus dem Array ja zuerst die höchste Zahl finden um das zugehörige Genre bestimmen zu können. Oder sehe ich das grad ganz falsch?
    Geändert von styler2go (07.07.10 um 19:32 Uhr) Grund: Juhu, Goldmember :D
     

  6. #6
    Avatar von chmee
    chmee chmee ist offline mod | media
    tutorials.de Moderator
    Registriert seit
    Apr 2004
    Ort
    Berlin bei Potsdam
    Beiträge
    7.630
    Blog-Einträge
    4
    goldmember willkommen Hmpf.. Ich hoffe einfach mal, dass es jemand Anders besser versteht.. Tatsächlich verstehe ich den Sinn nicht ganz, oder anders, so eine Datenbankstruktur muß normalisiert werden, damit es einfacher wird..

    (Du hast zweimal genre2, das ist falsch, oder?)

    (1) Wenn Du lediglich nach dem genre1 sortieren willst, dann ist ORDER BY genre1 das Richtige, aber das ist es nicht, nicht wahr?
    (2) Wenn genre1 höhere Priorität als genre2 genießt, dann würde ich es -Stichwort Normalisierung- eh über weitere Tabellen machen und dort über einen Priowert die Wichtigkeit einstufen. Die Vorteile liegen auf der Hand. Dein Suchmuster ist dann für Tabelle 3, welche mit Tabelle1 und Tabelle 2 lediglich zur Ausgabe der liedid und genreid verknüpft werden muss.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    Tabelle 1 : tLieder
     
    id * interpret * lied
    ---+-----------+---------
    1  *   Alf     +  Melmac Party
    ..
     
     
    Tabelle 2 : tGenres
     
    id * genre
    ---+----------
    1  *   Techno      
    2  *   Rock
    ..
     
     
    Tabelle 3 : tCatSong
     
    id *  liedid  *  genreid  * prio
    ---+----------+-----------+------
    1  *   1      +  1        +  5
    2  *   1      +  2        +  4
    ..

    mfg chmee
    styler2go bedankt sich. 
    Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
    Benutzt den DANKE-Knopf oder bewertet den Beitrag

    "GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
    -> Regexp <- -> php <- -> Javascript <-

  7. #7
    styler2go styler2go ist offline Mitglied Gold
    Registriert seit
    Mar 2008
    Ort
    Gründau
    Beiträge
    149
    (1) Genau, das meine ich nicht...
    (2) Auch eine möglichkeit...

    Mir ist grade eine idee gekommen die ich testen werde und mich dann wieder melden werde. Wenn jmd anderes weitere Vorschläge hat, bin immer offen.
     

  8. #8
    styler2go styler2go ist offline Mitglied Gold
    Registriert seit
    Mar 2008
    Ort
    Gründau
    Beiträge
    149
    Gut, das hab ich nun alles, nun muss ich noch das Array ausgeben.. aber das kireg ich allein hin! Danke an dich dass du geholfen hast. *Danke button drück*
     

Ähnliche Themen

  1. mysql abfrage -> nach datum sortieren
    Von Operator_Jon im Forum Relationale Datenbanksysteme
    Antworten: 10
    Letzter Beitrag: 19.09.11, 18:53
  2. MySQL - IF Abfrage beim sortieren
    Von proloser im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 24.08.10, 00:21
  3. MYSQL Abfrage Datensätze mehrfach (Anzahl n) ausgeben
    Von xtra03 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 18.10.07, 09:16
  4. Mehrfach-sortierte MySQL-Abfrage
    Von Sunke im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 05.03.06, 10:55
  5. MySQL Abfrage Sortieren
    Von mprs im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 17.06.05, 07:07