Matti Mäkitalo: Einträge löschen

Beitrag lesen

Hallo,

Das würde ja bedeuten ich müsste für jeden Eintrag ein eigenes Formular basteln mit einem verstecktem Feld?

nicht notwendigerweise. Wenn du als Parameter nur die ID der Rechnungsadresse brauchst und ansonsten kein Formular benötigt wird, kannst du stattdessen auch button-Elemente nehmen, und deren Values auf die ID der Rechnungsadresse setzen. Über den name kannst du die Operation bestimmen, z.B. "deleteRechnungsadresse".

Wenn sich aber, wie unten gezeigt, auch die Kunden-ID ändern kann, ist es wohl sinnvoller, auf eher kleinteilige Formulare zu setzen.

if($FirmenRechnungsadressen > 0) {?> <?php foreach($FirmenRechnungsadressen as $array){?>

Auch wenn PHP das zulässt, würde ich dir empfehlen, den Vergleich per count zu machen (count($FirmenRechnungsadressen) > 0) - liest sich besser, und man muss sich über implizite Konvertierung keine Gedanken machen.

<a href="rechnungsadresse.php?code=<?php echo htmlspecialchars($array['rs_firmenid']); ?>"><img src="icons/edit42.png" width="16" height="16" alt="Rechnungsadresse bearbeiten" title="Rechnungsadresse bearbeiten" class="right_05"> </a>

right_05 ist kein ordentlicher Klassenname - was bedeutet 05, und was machst du, wenn es irgendwann nicht mehr rechts, sondern links sein soll? Nutze semantische Klassennamen. width/height gehört aus dem HTML raus und ins CSS rein.

<a href="kundendatenblatt.php?kunde=<?php echo htmlspecialchars($array['rs_firmenid']); ?>&deleteRechnungsadresse=<?php echo htmlspecialchars($array['rs_id']); ?>" onclick="return confirm('Wollen Sie diese Rechnungsadresse wirklich löschen?')"><img src="icons/delete84.png" width="16" height="16" alt="Löschen" title="Rechnungsadresse löschen"> </a>

Das &-Zeichen (hier: in der URL als Begrenzer vor deleteRechnungsadresse) gehört maskiert als &amp;

Ansonsten koppelst du (für meinen Geschmack) Logik und Ausgabe zu sehr. Versuche das ein wenig zu trennen, indem du deine Business-Logik in eine separate Schicht verschiebst. Als Anfang hilft dir vielleicht Symfony versus Flat PHP im Abschnitt "Isolating the Presentation".

Viele Grüße Matti