Tobias L.: Felder überprüfen

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

  1. 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-)>

    --
    Stickstoff eignet sich nicht für Handarbeiten.
    1. 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.

  2. 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

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. 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.

      1. 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:

        pseudo code

        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

        --
        bythewaythewebsuxgoofflineandenjoytheday
        1. OK, das hilft mir weiter.

          Danke schön!