Einzelnen Beitrag anzeigen
  #12  
Alt 08.06.2005, 02:01:33
AA AA ist offline
Anfänger
 
Registriert seit: Mar 2005
Beiträge: 5
AW: verschachteltes if ... then

zwischen
Code:
$wert = $eintrag[$key];
und
Code:
$i++;
alles löschen.

dann nochmal nachdenken: es soll prinzipiell das gleiche gerüst ausgegeben werden. lediglich 2 eigenschaften ändern sich innerhalb des gerüstes in abhängigkeit irgendeiner bedingung.

das heisst, du schreibst das so um, dass du bei bedarf die sich unterscheidenden eigenschaften einfügst oder weglässt (oder änderst).

statt dem gelöschtem code fügst du das hier ein:

Code:
$field_disabled = ( $key == 'Schulamt' ) ? ' disabled="disabled"' : '';
$readonly_txt = ( $key == 'Schulamt' ) ? ' (nicht änderbar)' : '';

echo('<tr>');
echo('<td class="mittel" align="center" bgcolor="#979797">'. htmlspecialchars($key) .':');
echo('</td>');
echo('<td class="mittel" align="center" bgcolor="#979797">');
echo('<input type="text" size="60" maxlength="80" value="'. htmlspecialchars($wert). $readonly_txt .'"
		name="'. htmlspecialchars($key) .'"'. $field_disabled .'>');
echo("</td>");
echo("</tr>\n");
die beiden "eigenschaften" die sich je bedingung ändern, sind ganz oben definiert. das ist einmal das "disabled" und einmal die ergänzung des textes im gesperrten eingabefeld.

beide variablen werden im nachfolgendem html-code eingesetzt und je nach bedingung mit den festgelegten werten gefüllt oder auch nicht. damit sparst du nicht nur code, sondern musst bei änderungen des codes nicht 2 blöcke ändern (die ja auch umfangreicher sein könnten).

übrigens: wenn in deinen html-feldern einfach die werte aus der datenbank eingefügt werden, dann dürfen da keine anführungszeichen dabei sein, sonst zerhaut es dir die darstellung. von sicherheitsaspekten mal ganz abgesehen.

ich habe das in meinem beispiel gleich mit korrigiert (htmlspecialchars).
Mit Zitat antworten