Q.: NOT NULL ?

Hallo,

Worum es mir geht, ist, im weiteren Verlauf eine Drop-Down-Liste mit den a,b,c usw. -Werten zu bestücken.
Allerdings können die Felder a,b,c,d,e,f,g,h auch mit "Null" in der Datenbank gesetzt sein.

Ich habe zwar nun eine lösung gefunden, finde sie aber recht hölzern. Ich frage den Wert von a,b,c usw. ab (if !empty...) und arbeite dann mit ihnen weiter, wenn sie bestückt sind. Das macht viel Code und ist recht unelegant.

Kann ich nicht gleich eine Abfrage machen, die nur sinnige Ergenisse liefert und z.b. über eine Schleife in einem 1-Zeiler die Drop-Down-Liste generieren?

$query="select t1.xx, yy, a, b, c, d, e, f, g, h

from t1

INNER JOIN ...
 INNER JOIN ...
 ON ..
 ON ..

where ..."

Grüße, Q.

  1. Hallo Q.

    deine Problembeschreibung ist nicht wirklich schlüssig und gibt aufgrund des spartanisch gehaltenen Codebeispiels auch nicht besonders viel preis, womit man dir helfen könnte ...

    Du hast a, b, c, ... als Spalten organisiert?

    Es wäre spekulativ gesehen besser, so etwas als Zeilen im Datenmodell zu organisieren, dann könntest du mit WHERE feld is not null NULL-Werte einfacher ausschliessen.

    Oder du stellst deine Query mittels UNION ALL um

    SELECT t1.xx, 'Option A', a as Value
    FROM ...
    WHERE a IS NOT NULL
    UNION ALL
    SELECT t1.xx, 'Option B', c as Value
    FROM ...
    WHERE a IS NOT NULL
    UNION ALL
    SELECT t1.xx, 'Option C', c as Value
    FROM ...
    WHERE a IS NOT NULL
    .. und so weiter

    Das macht viel Code und ist recht unelegant.

    Wir sind hier doch nicht beim Ballett, oder? Wenn an das momentane Datenmodell gebunden bist, bleibt dir nun mal fast nur der Ausweg über ein if-Konstrukt. Im Rahmen der Möglichkeiten und Notwendigkeit, finde ich das in Ordnung.

    Ciao, Frank