Zur Navigation

"Keine Angaben" automatisch setzen

1 Marcel (Gast)

Hallo

Derzeit arbeite ich an einem System in dem jeder Tipps eintragen kann, diese überprüft und am Ende ausgegeben werden. Beim Eintragen kann nicht nur jeder Autor sein Tipp, sondern auch seinen Namen und restliche Daten wie beispielsweise MSN-Adresse, ICQ-Nummer, Skypename und Wohnort angeben. Diese genannten Angaben sind allerdings keine Pflichtangaben, daher kann es passieren, dass jemand diese Felder auslässt (was ja eigentlich auch nicht weiter schlimm wäre...). Nun würde ich es gerne so machen, dass alle Felder wie z. B. die MSN-Adresse und der Wohnort, die keinerlei Zeichen enthalten umformatiert werden. Folgendes soll stattdessen ausgegeben werden (angenommen es sind keine Angaben vorgegeben): "Keine Angaben".
Generell hätte ich schon ein paar Ideen zum Realisieren dieser Angelegenheit, doch sind diese entweder sehr mühsam oder aufwendig und übersichtlich.
Deshalb suche ich jetzt nach einer ganz einfachen und schnellen Variante.

Ich hoffe auf Hilfe. Danke.

28.03.2006 21:21

2 YuryR

if (trim($row['spalte'])==''){ 
	echo 'Keine Angaben'; 
} else { 
	echo $row['spalte']; 
}

so?

29.03.2006 01:18

3 C)-(iLL@

Oder die Spalten als NULL definieren und bei keiner Angabe auch wirklich NULL eintragen und nicht ''. Dann kann es so gemacht werden:

SELECT IFNULL(spalte, 'keine Angabe') FROM tabelle WHERE bedingung

29.03.2006 09:19

4 Marcel (Gast)

if (trim($row['spalte'])==''){
echo 'Keine Angaben';
} else {
echo $row['spalte'];
}


So hätte ich es auch gekonnt, aber ist das nicht noch einfacher möglich? Ich mein, ich muss ja jetzt jedes einzelne Feld überprüfen.

29.03.2006 17:27

5 C)-(iLL@

echo strlen(trim($row['spalte'])) ? $row['spalte'] : 'keine Angabe';
Ich mein, ich muss ja jetzt jedes einzelne Feld überprüfen.
Ja. Wie sollte es im Code-Teil sonst gehen? Sonst musst Du es von MySQL direkt machen lassen, vgl. Ifnull. Dann kannst Du die PHP-ifs sparen.

30.03.2006 23:29 | geändert: 30.03.2006 23:32

6 Marcel (Gast)

Okay, wahrscheinlich hast du recht.
Ich habe es nach längeren Überlegungen nun doch mit einigen If-Anweisungen gelöst.

Vielen Dank für deine schnelle Antwort. :)

31.03.2006 19:34

7 C)-(iLL@

Du könntest auch eine Funktion verwenden:

function optdetail($value) {
  return strlen(trim($value)) ? $value : 'keine Angabe';
}
und dann bei der Ausgabe

echo optdetail($row['spalte']);
HTH,
Rudy

31.03.2006 19:49

8 Marcel (Gast)

Ich hab' in meiner ganzen PHP-Zeit noch nicht einmal eine Funktion angewendet. Ich werd's mal probieren, danke.

31.03.2006 20:02

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]