DropDown Abfrage in Textfeld ausgeben

hugo12345

Grünschnabel
Ich habe eine MySQL tabelle mit "id", "ffname" und "edvnr".
Nun möchte ich per PHP mit einem DropDown-Feld die Einträge von "ffname" zur Auswahl anbieten. Nach Auswahl soll aber auch die jeweilig dazugehörige EDV-nr in einen Textfeld ausgegeben werden.
Ich habe mich jetzt schon Tage mit dieser Sache beschäftigt und finde keine Lösung.

Mein script - die Abfrage mit DropDown funktioniert aber die Ausgabe der jeweilig dazugehörigen EDV-Nr in einem Textfeld klappt einfach nicht.

PHP:
<select name="ffname"> 
<?php 
$ff = "select * from feuerwehren ORDER BY ffname"; 
$query = mysql_query($ff); 

while ($spalte = mysql_fetch_array($query, MYSQL_ASSOC)) 
{ 
$ff = $spalte["ffname"];
echo "<option value=".$ff.">".$ff."</option>"; 
} 
?>
</select>
<input name="edvnr" type="text" size="10" value="<? $abfrage="SELECT edvnr FROM feuerwehren"; 
$spalte["edvnr"];
$kquery = mysql_query($abfrage) or die("Anfrage fehlgeschlagen: " . mysql_error());
echo $kquery;
?>
">
 
Hallo!

Entweder lässt Du es automatisch per JavaScript machen oder Du musst nach jeder Auswahl einen Submitbutton drücken, damit die Einträge aus "edvnr" ausgelesen werden können.

Was das JavaScript angeht, solltest Du mal im JavaScript-Forum suchen.
Bedenke jedoch dass es User geben kann, die JavaScript deaktiviert haben könnten.
Ohne JavaScript, packst Du das ganze halt in ein Formular.

Gruss Dr Dau
 
Ueber ein ganz normales Formular.
Mit dem Submit-Button wird halt das Formular uebergeben und dann holst Du Dir den Wert der ComboBox.
 
das dropdown steckt schon in einem formular, da anschließend die ausgewählten daten für dieses formular verwendet werden.

beim oben angeführten php-code bekomme ich im textfeld folgende fehlermeldung: Resource id #9
 
Zuletzt bearbeitet:
Du kannst nicht gleich das Ergebnis der Query ausgeben sondern musst dann die einzelnen Datensaetze (auch wenn nur einer im Ergebnis steckt) abfragen, z.B. mit mysql_fetch_assoc().

Und ich moechte Dich bitten Dich an Gross- und Kleinschreibung zu halten.
 
Ich habe jetzt mysql_fetch_assoc() eingebaut und es funktioniert. Im Textfeld wird jetzt ein Datensatz angezeigt - allerdings nur der erste. Es funktioniert aber nicht, wenn ich mittels DropDown eine Auswahl treffe. Hier tut sich gar nichts. Habe es mit Javascript probiert - hilft aber nichts. Was muss ich noch tun, damit bei DropDown-Auswahl der jeweilig dazugehörige Datensatz im Textfeld angezeigt wird Bitte um Hilfe - ich würde dies schon sehr sehr dringend benötigen und komme einfach nicht weiter.


PHP:
<select name="ffname">
<?php 
$ausgabe = "select * from feuerwehren"; 
$query = mysql_query($ausgabe); 

while ($spalte = mysql_fetch_array($query, MYSQL_ASSOC)) 
{ 
$ausgabe = $spalte["ffname"];
echo "<option value=".$ausgabe.">".$ausgabe."</option>"; 
} 
?>
</select>
<input name="edvnr" type="text" size="10" value="<? $abfrage="SELECT edvnr FROM feuerwehren"; 
$spalte["ausgabe"];
$result = mysql_query($abfrage) or die("Anfrage fehlgeschlagen: " . mysql_error());
$array = mysql_fetch_assoc($result);
echo $array['edvnr'];
?>
">
 
Ich kenne ja nicht Deine Datenbank und ich weiss auch nicht was in den Feldern steht.
Daher habe ich die Datenbank auf 2 Spalten (bzw. 3 mit ID) beschränkt und irgend einen Text darin gespeichert.

Auch bin ich davon ausgegangen dass das Ergebnis aus dem Textfeld weiter verarbeitet werden soll.
Nach drücken des Submit-Botton vom Textfeld, wird der Inhalt weiter verarbeitet (im Beispiel per echo() ausgegeben) und das Formular wieder zurück gesetzt.
Sollte das Textfeld leer sein (zuvor wurde also keine Auswahl getroffen), wird ein Hinweis ausgegeben.
Damit der Inhalt im Textfeld nicht geändert werden kann, habe ich dieses auf "readonly" gesetzt.

So, nun dürfte wohl soweit alles klar sein.
PHP:
<?php
$db_host  = "localhost";
$db_admin = "root";
$db_pass  = "";
mysql_connect("$db_host","$db_admin","$db_pass");
mysql_select_db("feuer");
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
 <select name="ffname">  
  <?php
   $ff = "SELECT * FROM feuerwehren ORDER BY ffname";  
   $query = mysql_query($ff);  
   while ($spalte = mysql_fetch_array($query, MYSQL_ASSOC)) {  
    $ff = $spalte["ffname"]; 
    if($spalte["ffname"]==$_POST['ffname']) {
     echo "<option value=\"".$ff."\" selected=selected>".$ff."</option>";
    } else {
     echo "<option value=\"".$ff."\">".$ff."</option>";
    }
   }
  ?> 
 </select>
 <input type="submit" name="auswahl_1" value="Auswahl 1">
</form>
<?php
$abfrage = "SELECT edvnr FROM feuerwehren WHERE ffname LIKE '".$_POST['ffname']."'";  
$kquery = mysql_query($abfrage) or die("Anfrage fehlgeschlagen: " . mysql_error()); 
$out = mysql_fetch_array($kquery);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
 <input type="text" name="edvnr" size="10" value="<?php echo $out['edvnr']; ?>" readonly="readonly">
 <input type="submit" name="auswahl_2" value="Auswahl 2">
</form>
<?php
if(isset($_POST['edvnr'])) {
 if(!empty($_POST['edvnr'])) {
  echo "Sie haben ".$_POST['edvnr']." ausgewählt.";
 } else {
  echo "Sie müssen zuerst eine Auswahl treffen!";
 }
}
?>
 
Zurück