Gunnar Bittersmann: SQL Abfrage, wenn Zelle empty dann ''kein Inhalt"

Beitrag lesen

@@Matthias Apsel

es sind reine Textfelder, in denen ab und zu keine Informationen sind. wenn das so ist soll, das Feld mit " Kein Inhalt vorhanden" gefüllt werden

Aus Dedlfix' Antwort: „Niemand kennt deine Daten, ob da auch wirklich NULL drinsteht und nicht vielleicht ein Leerstring“ (Hervorhebungen von mir)

Was auch immer keine Daten repräsentiert – ob nun NULL oder "" – wenn ich Mike richtig verstehe, will er dies durch den String „kein Inhalt vorhanden“ ersetzen, also leere Datenfelder mit Inhalt füllen.

Es sollte einleuchten, dass dies unsinnig ist. Weil eben keine Daten am besten durch NULL oder "" repräsentiert werden, nicht durch irgendwelche Daten.

Vergleiche mit NULL bzw. "" sind einfacher (und fehlerunanfälliger!) zu implementieren als Vergleiche mit Strings wie "kein Inhalt vorhanden"

Die Repräsentierung in der Datenbank sollte agnostisch von der späteren Verwendung erfolgen. Wenn für den Nutzer statt eines leeren Tabellenfeldes „kein Inhalt vorhanden“ angezeigt werden soll, dann hat dies nach dem Auslesen aus der Datenbank zu erfolgen. Sowas wie <?php echo !empty($foo) ? $foo : 'kein Inhalt vorhanden'; ?>.

Oder man sieht das gleich als Styling-Sache und macht das mit CSS: td:empty::after { content: "kein Inhalt vorhanden" }. (Dann darf aber auch kein Whitespace in <td></td> sein.) Dann kann man auch gleich „kein Inhalt vorhanden“ bspw. eine andere Farbe (bspw. grau) geben.

LLAP 🖖

--
„Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
„Hat auf dem Forum herumgelungert …“
(Wachen in Asterix 36: Der Papyrus des Cäsar)