Felder überprüfen
Tobias L.
- php
Hallo,
gibt es eine einfache Möglichkeit zu überprüfen, ob in allen Feldern eines Datensatzes Werte vorhanden sind?
Z.B.:
Tabelle "Personen"
Felder: "Name", "Strasse", "plz", "ort"
Jetzt möcht ich wissen, ob bei einer Person alle Felder ausgefüllt sind, also Name, Straße, PLZ und Ort vorhanden sind.
Viele liebe Grüße,
Tobias
hi
gibt es eine einfache Möglichkeit zu überprüfen, ob in allen Feldern eines Datensatzes Werte vorhanden sind?
Du meinst sowas wie if($foo!="") ?
so long
Ole
(8-)>
Du meinst sowas wie if($foo!="") ?
Genau, aber für alle Felder. Ob es da was einfaches gibt. Wenn man jetzt angenommen 20 Felder hätte, könnte man zwar jedes einzelne mit "if" überprüfen, aber das wird ja ziemlich unschön.
Huhu Tobias,
ich nehme einfach mal an Du nutzt MySql.
Vielleicht hilft Dir so ein Konstrukt weiter:
SELECT * FROM MyTable WHERE '' IN (a,b,c,d)
oder sofern Du NULL-Werte zulässt ...
SELECT * FROM MyTable WHERE '' IN (IFNULL(a,''),IFNULL(b,''),IFNULL(c,''),IFNULL(d,''))
Viele Grüße
lulu
Damit würde ich ja alle Datensätze selektieren, die vollständig ausgefüllt sind.
Dies möchte ich nicht.
Ich drück es mal so aus: Wenn ich alle Datensätze in ein Array fülle und mit hilfe einer Schleife ausgebe, möchte ich zu den Datensätzen die vollständig ausgefüllt sind dazu schreiben "vollständig"
Dies entspricht jetzt nicht ganz meinem Vorhaben, ist aber das selbe Problem.
Schon mal vielen Dank für die Bemühungen,
Tobias L.
Ahoi,
Damit würde ich ja alle Datensätze selektieren, die vollständig ausgefüllt sind.
Nö, eigentlich nicht.
Es sollen die selektiert werden wo mindestens eine Spalte '' ist.
Ich drück es mal so aus: Wenn ich alle Datensätze in ein Array fülle und mit hilfe einer Schleife ausgebe, möchte ich zu den Datensätzen die vollständig ausgefüllt sind dazu schreiben "vollständig"
Aha, Du willst es im PHP-Teil ermitteln.
Da kann man vermutlich was mit count() und array_filter() zusammenstecken.
Ungefähr so:
if count(original_array) == count(array_filter(original_array)) {
print 'vollstaendig';
}
Du kannst das aber auch direkt im SQL mit abfragen:
SELECT
a,
b,
IF('' IN (a,b,c,d),'unvollstaendig', 'vollstaendig) as Status
[...]
Viele Grüße
lulu
OK, das hilft mir weiter.
Danke schön!