Einen Wert aus Dropdown übergeben

dooley

Grünschnabel
Aus einer Tabelle einer Datenbank werden die Daten in ein Dropdown-Feld geschrieben. Ein ausgesuchter Wert soll einer SQL- Abfrage übergeben werden, um alle Einträge der Datenbank die zu diesem Wert gehören auszugeben. Meine Suchfunktion funktioniert, doch die Dropdown-Auswahl mit den selben Werten der Suchfunktion eben nicht. Wer kann mir helfen ?
 
Du hast da mehrere Möglichkeiten:

PHP:
<select name="drop">
<option value="id">Inhalt</option>
</select>

Es wird jetzt "Inhalt" im DropDown angezeigt und "id" wird weitergegeben. Entweder per POST dann $_POST['drop'] oder eben GET.

oder

PHP:
<select name="drop" >
<option>Inhalt</option>
</select>

Dann wird "Inhalt" in $_POST['drop'] übergeben.

Das DropDown-Menü kannste ja dynamisch füllen.

Ich hoffe das war verständlich.
 
hab ein ähnliches Problem mit einem Drop-Down-Feld.
Also bei mir wird das Feld dynamisch angezeigt und auch bei richtiger auswahl übergeben, nur wie funktioniert daß beim Aufruf das was in der DB schon gespeichert ist ausgewählt ist, also das selected, sodaß dieser Eintrag dann auch nicht doppelt im Drop-Down vorhanden ist?

hier mein Inhalt in der Template:

<select name="kat">
$messagekat
</select>

und dies ist in der $messagekat drine:

<option value="$themeid1">$theme1</option>

Das ganze soll für das editieren des Beitrages sein.
 
Original geschrieben von low-group
nur wie funktioniert daß beim Aufruf das was in der DB schon gespeichert ist ausgewählt ist, also das selected, sodaß dieser Eintrag dann auch nicht doppelt im Drop-Down vorhanden ist?
PHP:
if ($value_from_db == $themeid1) {
     '<option value="'.$themeid1.'" seleceted>'.$theme1.'</option>';
} else {
     '<option value="'.$themeid1.'">'.$theme1.'</option>';
}
Das soll jetzt aber eher beispielhaft sein, musst Du jetzt natürlich Doch an deine Daten anpassen. :)
 
hmmm... geht irgendwie nicht, hier mal mein code:


PHP:
 $result = $db->query("SELECT userid, themeid FROM  bb".$n."_portal_artikel WHERE id='$id'");
while($row = $db->fetch_array($result)){
$puser = $row[userid];
$tid = $row[themeid];

}

$result3 = $db->query("SELECT theme, themeid FROM bb".$n."_portal_art_theme  ORDER BY theme ASC");
while($row3 = $db->fetch_array($result3)){
$theme1 = htmlconverter($row3[theme]);
$themeid1 = $row3[themeid];

if ($tid == $themeid1) { 
     eval ("\$messagekat .= \"".$tpl->get("portal_art_messagekat")."\";");
} else { 
     eval ("\$messagekat .= \"".$tpl->get("portal_art_messagekat2")."\";");
}

}

und in der portal_art_messagekat jeweils dein code drinne.
 
Original geschrieben von low-group
hmmm... geht irgendwie nicht
Was passiert denn? Wirds einfach nur nich ausgewählt?

Original geschrieben von low-group
PHP:
if ($tid == $themeid1) { 
     eval ("\$messagekat .= \"".$tpl->get("portal_art_messagekat")."\";");
} else { 
     eval ("\$messagekat .= \"".$tpl->get("portal_art_messagekat2")."\";");
}
Was (bzw woher) is denn $tid? Kannst Dir ja mal beide Werte ausgeben lassen, um den Wert zu sehen.

Generell: Ich würde an Deiner Stelle anstatt

PHP:
$puser = $row[userid];
$tid   = $row[themeid];
lieber

PHP:
$puser = $row['userid'];
$tid   = $row['themeid'];
verwenden. Prinzipiell geht beides, aber bei Deiner Methode wird erst nach einer Konstanten mit Namen "userid" bzw. "themeid" gesucht, und erst dann nach dem Inhalt aus der DB. Das wirst Du sehen wenn Du in der PHP.INI es so eingestellt hast, dass auch Warnungen ausgegeben werden. ;)
 
das $tid ist aus der ersten Abfrage und da wird auch der korekte Wert ausgegeben und bei der Ausgabe $themeid1 wird was andres ausgegeben. Soll ich für $themeid1 ne extra Abfrage machen?
 
Original geschrieben von low-group
das $tid ist aus der ersten Abfrage und da wird auch der korekte Wert ausgegeben und bei der Ausgabe $themeid1 wird was andres ausgegeben.
Wenn was anderes ausgegeben wird, dann wird ja auch nichts vorausgewählt. Oder versteh ich Dich da gerade falsch?
 
Danke Chris!
Ich hatte vergessen meine <select> Anweisung in den <form> tag mit einzuschliesen. Deshalb konnten keine Werte übergeben werden, wenn ich auf den Submit-Button geklickt habe.
War also ein Syntax-Fehler.
Nochmals Danke für deine Tipps
 

Neue Beiträge

Zurück