Prüfen ob bestimmtes Feld leer

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Walter91
Mitglied
Beiträge: 108
Registriert: 16.02.2012 08:28

Prüfen ob bestimmtes Feld leer

Beitrag von Walter91 »

Mit folgenden Code zeige ich einen einzelnen Datensatz aus einer Tabelle an.

Code: Alles auswählen

$sql = 'SELECT *
    FROM ' . TEST_TABLE . '
    ORDER BY name';
    
    $result = $db->sql_query($sql);
    $row = $db->sql_fetchrow($result);
        
        $name    = $row['name'];
        $vorname = $row['vorname'];
        $telefon = $row['telefon'];
         
    $template->assign_vars(array(
        'NAME'        => $name,
        'VORNAME'     => $vorname, 
        'TELEFON'     => $telefon,                                     
    )); 
Ich suche jetzt nach einer Möglichkeit wie ich das erweitern kann.
Wenn ein einzelnes Feld leer (z.B. TELEFON) möchte ich gern eine Fehlermeldung.
Wenn alle vollständig, dann einfach den Datensatz anzeigen.

Soweit mir bekannt ist, kann man das mit dem Befehl ISSET prüfen. Nur weis ich nicht wo ich das einbauen muss.
Wäre schön wenn jemand helfen könnte. Danke.
Benutzeravatar
tas2580
Ehemaliges Teammitglied
Beiträge: 3029
Registriert: 01.07.2004 05:42
Wohnort: /home/tas2580
Kontaktdaten:

Re: Prüfen ob bestimmtes Feld leer

Beitrag von tas2580 »

Mit isset() prüfst du ob eine Variable gesetzt ist oder nicht. Wenn du die Daten aus der Datenbank holst sind alle Variablen immer gesetzt. Was du brauchst ist empty().
Das zuweisen an Variablen kannst du dir auch sparen und direkt das Array verwenden.

Code: Alles auswählen

$sql = 'SELECT *
    FROM ' . TEST_TABLE . '
    ORDER BY name';
    
    $result = $db->sql_query($sql);
    $row = $db->sql_fetchrow($result);
  
if(empty($row['telefon']))
{
    die('Fehler');
}
else
{
    $template->assign_vars(array(
        'NAME'        => $row['name'],
        'VORNAME'     => $row['vorname'], 
        'TELEFON'     => $row['telefon'],                                     
    ));
} 
Gruß Tobi
Heute ist ein guter Tag um dein Forum zu testen.
Ehemaliger Benutzername: [BTK] Tobi
Walter91
Mitglied
Beiträge: 108
Registriert: 16.02.2012 08:28

Re: Prüfen ob bestimmtes Feld leer

Beitrag von Walter91 »

Danke Tobi.
Da hatte ich einen Denkfehler, sorry bin leider kein php-Profi.
Die Fehlermeldung habe ich noch mit "trigger_error" etwas gestylt.
Jedenfalls geht das jetzt so wie mir das vorgestellt hatte.
Nochmal danke.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“