Nic: MySQL Ausgabe

Hey Jungs also es geht darum und zwar hab ich ein kleines Tool gebaut wo in einer schleife der Inhalt der Datenbank ausgibt! Der derzeitige Code ist der folgende:

$sql = "SELECT * FROM spieler WHERE raid = '$raidid' ORDER BY name ASC";

Jetzt gibt er es Leider nach dem Namen sortiert aus! Ich hätte das aber gerne in einer besonderen Art. Und zwar gibt es eine Zeile "lead" wo wenn ein Spieler Leader ist ein L drin ist! Dann gibt es noch eine Zeile "Specc1" und "Specc2" was die Skillung des spielers anzeigt dort könnte D, H oder T auftauchen.

So und die Sortierung sollte am besten so sein: alle Spieler welche in der Zeile "lead" etwas (L) haben sollten ganz oben stehen! Danach sollten alle Leute mit dem gleichen "Specc1" (die reihenfolge ob H, D oder T) ist egal und dann gegbenenfalls alles gleichen "SPecc2" aber das ist nicht unbedingt von nöten!

Also wenn da jmd ne idee hat wie man das realisiern kann! Bitte ich doch drum mir zu helfen!

würde mich freuen

mfg Nic

  1. Hallo,

    Hey Jungs also es geht darum und zwar hab ich ein kleines Tool gebaut [...] Der derzeitige Code ist der folgende:

    $sql = "SELECT * FROM spieler WHERE raid = '$raidid' ORDER BY name ASC";

    Jetzt gibt er es Leider nach dem Namen sortiert aus!

    wenn Dir diese Sortierung nicht gefällt, warum hast Du sie eingebaut?

    Ich hätte das aber gerne in einer besonderen Art. Und zwar gibt es eine Zeile "lead" wo wenn ein Spieler Leader ist ein L drin ist!

    Ich nehme an, Du meinst Spalte, wenn Du von Zeile sprichst.
    Was steht denn in dieser Spalte drin, wenn ein Spieler kein Leader ist? Der spezielle Wert NULL oder ein Leerstring.

    Dann gibt es noch eine Zeile "Specc1" und "Specc2" was die Skillung des spielers anzeigt dort könnte D, H oder T auftauchen.
    So und die Sortierung sollte am besten so sein: alle Spieler welche in der Zeile "lead" etwas (L) haben sollten ganz oben stehen! Danach sollten alle Leute mit dem gleichen "Specc1" (die reihenfolge ob H, D oder T) ist egal und dann gegbenenfalls alles gleichen "SPecc2" aber das ist nicht unbedingt von nöten!

    in der einfachsten Form könnte Deine ORDER-BY-Klausel wie folgt aussehen (ich gehe jetzt davon aus, dass in der Spalte lead entweder ein L oder der NULL-Wert steht):

    ORDER BY      -- sortiere  
       lead DESC, -- zuerst nach der Spalte lead in absteigender Reihenfolge,  
                  -- d.h. L kommt zuerst, dann die NULL-Werte  
       Specc1,    -- bei gleichem Wert in lead als nächstes nach den Werten der  
                  -- Spalte Specc1  
       Specc2     -- sollten diese auch noch gleich sein, nach den Werten der  
                  -- Spalte Specc2  
    
    

    Freundliche Grüße

    Vinzenz