Malcolm Beck´s: IF in einem SELECT-Statement

Beitrag lesen

hi,

IFNULL gibt den Wert des ersten Ausdrucks zurück, wenn dieser nicht gleich NULL ist, sonst den zweiten.
Wenn also der Inhalt deines optionales_feld nicht NULL ist, wird dieser zurückgeliefert und mit 'wert' verglichen;
andernfalls wird '' mit 'wert' verglichen.

Danke für die Erläuterung, jetzt habe ich es verstanden.
Und Nein, so was suche ich doch nicht.

Dann definiere doch bitte mal, was in den beiden Fällen mit dem Datensatz passieren soll - wann soll er selektiert werden, und wann nicht?

Im Grossen und ganzen geht es lediglich darum, die erhaltenen Datensätze in einem Array zu speichern, aus dem später im Script eine HTML-Navigation zusammen gestückelt wird.

Meine jetzige Lösung ist ein Umweg über 2 SELECTs, mit denen ich die Datensätze einzeln abfrage, daher kam mir die Idee mit einer IF.

Nehmen wir nochmal mein Beispiel:

"link_name" und "link_target" sind immer vorhanden, also immer true; die einzige Bedingung ist, dass diese der "link_gruppe" = 'Hauptmenu' angehören.
Das Resultat speicher ich dann im Array: $HauptLinks[$kategorienRow['link_target']] = $kategorienRow['link_name'];

SELECT  
        link_name, link_target,            -- Hauptlinks für ein Treemenu  
        sub_link_name, sub_link_target     -- Sublinks, werden unter dem jeweilgen Hauptlink eingefügt  
FROM  
        menu, sub_menu  
WHERE  
        menu.link_gruppe = 'Hauptmenu'   -- nur die Links, die in die Hauptnavigation eingefügt werden sollen  

"sub_link_name" und "sub_link_target" sind sozusagen Optional, da nicht jede Seite (Kategorie) unbedingt noch unterseiten haben muss.
Wenn es "Sublinks" gibt, speicher ich diese auch in einem Array: ~~~php $SubLinks[$kategorienRow['sub_link_target']] = $kategorienRow['sub_link_name'];

Wenn es keine "Sublinks" gibt, soll die erste WHERE-Klausel trotzdem ausgeführt werden.  
  
  
Nochmal zur verdeutlichung, um missverständnisse auszuschliessen:  
  
\-- Kategorie Autos   (Hauptlink)  
\-- -- VW             (Sublinks)  
\-- -- BMW            (Sublinks)  
\-- -- Mercedes       (Sublinks)  
  
mfg

-- 
echo '<pre>'; var\_dump($Malcolm\_Beck`s); echo '</pre>';  
  
array(2) {  
  ["SELFCODE"]=>  
  string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("  
  ["Meaningful"]=>  
  string(?) "[Der Sinn des Lebens ist deinem Leben einen Sinn zu geben](http://www.youtube.com/watch?v=VS9ecfD0K9c)"  
}