Hi!
- Daten werden per feste abfrage aus der MySQL Datenbank ausgegeben.
Was muss man sich unter einer festen Abfrage vorstellen?
- Die ausgegebenen Daten beinhalten ID, Name, Kategorie und einen Link.
Die Bedeutung der Inhalte ist aus Programmsicht eher unwichtig (nur wenn man ein Konzept diskutiert braucht man auch die Bedeutung). Vielmehr interessiert hier ihr Typ oder Datenformat oder der konkrete Inhalt (zum Beispiel String mit möglicherweise Leerzeichen am Ende).
- Der Link ist nachher maßgebend wohin man weitergeleitet wird, ob zu einer meiner Seiten wo die Daten ID, Name und Kategorie weiterverarbeitet werden oder einfach nur zur Homepage desjenigen der in der Datenbank eingetragen ist.
Das ist auch unwichtig. Wichtig ist hier nur, dass ob es ein Link oder besser gesagt eine URL ist oder Daten, die in eine solche eingefügt werden sollen.
$id=mysql_result($resultabfrage,$i,"id");
<input type="hidden" name="id" value="<?php if (isset($id)) echo htmlspecialchars(trim($id), ENT_QUOTES); ?>">
Wenn man das so sieht, könnte man denken, der Programmierer hat ein defektes Kurzzeitgedächtnis. Eben setzt er die Variable $id und gleich darauf fragt er ab, ob sie existiert. Natürlich existiert sie, du hast sie gerade angelegt. Ein Sonderfall wäre, wenn aus der Datenbankabfrage ein null zurückgeliefert wird und das abgefangen werden soll. isset() spielt hier zwar mit, weil es auch eine zwar existierende aber mit null gefüllte Variable als nicht existent ansieht. Besser wäre es, auf null zu testen, damit man gleich die Intention sieht und nicht um diese Besonderheit isset()s wissen muss. if ($id != null) ...
Wenn allerdings dein Abfragevorgang so gestaltet ist, dass die Variablen nur bei nicht leerer Ergebnismenge überhaupt angelegt werden, so wäre der Ablauf des Programms generell zu überdenken. Ohne Ergebnismenge braucht es keine Ausgabe eines Formulars, also hätte die Ausgabe besser in Abhängigkeit vom Vorhandensein eines Ergebnisses zu erfolgen.
Lo!