Werte aus MySQL Tabelle in Drop-down Menü ausgeben
Sebastian
- php
Hi,
ich habe ein kleines Problem bei der Verbesserung eines Newsscripts. Eintragen, Ändern und Löschen klappt alles. Jetzt arbeite ich nur noch an so kleinen Vereinfachungen für den User.
Zu meinen News sollen auch passende Grafiken angezeigt werden. Diese lasse ich beim Eintragen per Drop-down Menü auswählen.
Also z.B. so:
<select class="Select" name="Grafik">
<option>Projekte.png</option>
<option>Tutorials.png</option>
<option>Artwork.png</option>
<option>W W W.png</option>
<option>Download.png</option>
</select>
Bei der späteren Ausgabe lasse ich diese Variable dann einfach in einem <img src="Variable"> Tag ausgeben.
Wie schon zuvor gesagt habe ich aber auch eine Ändernfunktion eingebaut, damit ich die News aktualisieren kann.
Bisher habe ich alles in inputs oder textareas ausgeben lassen, da das ja ziemlich simpel ist un dann auch einfach so geändert werden kann vom User.
Bei Einträgen wie dem Titel oder so kann man das ja auch so lassen.
Lediglich bei der Grafik wollte ich nun auch wieder ein Drop-down Menü dafür machen. Dabei sollte dann die in der MySQL Tabelle eingetragene Grafik "selected" sein und die anderen als Auswahlmöglichkeit dazukommen. Ich habe auch mal versucht etwas zu schreiben, was meiner Meinung nach klappen müsste, zumindest theoretisch :). Aber in der Praxis natürlich nicht. Wisst ihr vielleicht weiter oder ist da nur ein kleiner Fehler oder sowas?
Hier der Code (die Variable "Grafik" wurde zuvor im Code aus der Datenbank abgefragt):
echo"<select>";
$kategorien = array('Projekte.png', 'Tutorials.png', 'Artwork.png', 'Download.png', 'W W W.png');
$Result->Grafik = $aktuelleKategorie;
foreach($kategorien as $kategorie)
{
if($kategorie == $aktuelleKategorie) {
echo"<option value="$kategorie" selected>$kategorie</option>";
}
else {
echo"<option value="$kategorie">$kategorie</option>";
echo"</select>";
}
}
Ein Danke schonmal für eure Antworten.
Gruß,
Sebastian
Hi Sebastian,
hier mal mein Schnellschuss:
<?php
$catIMGs = array('Projekte.png', 'Tutorials.png', 'Artwork.png', 'Download.png', 'W W W.png');
$actBild = $Result->Grafik;
?><select class="Select" name="Grafik"><?= "\n";
foreach($kategorien as $catBild) {
$actu = ($catBild == $actBild) ? ' selected' : '';
?><option value="$catBild"<?= $actu; ?>><?= $catBild</option><?= "\n";
}
?><select>
Es ist zu vermuten, dass Du einfach nur den Objektbezug verdreht hast,
also $Result->Grafik = $actBild;
statt $actBild = $Result->Grafik;
Gruss Norbert
Danke, ich habe jetzt in meinem Quelltext einfach die beiden Werte umgedreht, und es hat wirklich geklappt.