hi EKKi,
da Du nicht geschrieben hast, welches DBMS Du verwendest, gehe ich mal von MySQL aus ...
Sorry, hatte ich vergessen. Es geht um MySQL.
» gibt es so eine art IF für SELECT-Statements, so was wie Bspw:
Ja.
Das scheint das richtige zu sein, Danke für den Link.
SELECT feld_1
, feld_2
, optionales_feld
FROM table
WHERE feld_1 = 'wert'
AND IFNULL(optionales_feld, '') = 'wert'
Irgend wie will das bei mir nicht so richtig funktionieren. Das Statement besagt doch --
`AND IFNULL(optionales_feld, '') = 'wert'`{:.language-sql}
Wenn in diesem Feld nichts steht, dann dieses Feld nicht mit einbeziehen, oder?
Ich baue mir aus einträgen in der DB eine Navigation zusammen, ein Versuch mit obigem Beispiel funktioniert nur, wenn in optionales\_feld was steht, ansonsten gibt es NULL.
So sieht mein Versuch aus, was mache ich hier falsch?
~~~sql
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
link_gruppe = 'Hauptmenu' -- nur die Links, die in die Hauptnavigation eingefügt werden sollen
AND
IFNULL(parent_id, '') = '" . $dat_verbindung->real_escape_string($URI_Key) . "'
-- parent_id ist der Schlüssel, um die Sublinks den jeweiligen Eltern zuzuordnen
Resultat: Wenn es eine parent_id gibt, funktioniert das Statement, wenn es keine parent_id gibt, wird das Statement nicht ausgeführt.
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"
}
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"
}