Bei DropDownauswahl Tabelle refreshen

fish-guts

Erfahrenes Mitglied
Hallo

Habe ein Problem. Ich habe mit PHP Daten aus einer MySQL Tabelle in ein DropDown Menu eingepflanzt. Jedoch hat diese Page, auf der das läuft noch mehr Felder.

Wie kann ich nun die Daten in die entsprechenden Felder einlesen, wenn ich etwas im DropDownMenu auswähle?

Also z.B. im Dropdown Menu sind die Benutzer

User1
User2
User3
User4

Und wenn ich nun User3 auswähle, soll es die restlichen Daten aus der MySQL DB in die entsprechenden Formularfelder einfügen.

Code:
Code:

<?php include "checkuser.php"; ?>
 <form action="changeuser.php" method="POST">
 <?php 
 $connectionid  = mysql_connect ("localhost", "burginka_page", "rgT796yxRKt2y");
 if (!mysql_select_db ("burginka_cpanel", $connectionid))
 {
   die ("Keine Verbindung zur Datenbank");
 }
 
 $sql = "SELECT username FROM userdata ORDER BY Id";
 $result = mysql_query($sql);
 ?>
 <table border="0" width="100%">
   <tr>
 	<td width="10%">Benutzername:</td>
 	<td width="90%"><select size="1" name="username" tabindex="1">
 	 <?php
 	while($row = mysql_fetch_object($result))
 	{
 		echo "<option value=$row->username name=\"username\"> $row->username </option>";
 	}
 	?>
 
 	  </select></td>
   </tr>
   <tr>
 	<td width="10%">Passwort:</td>
 	<td width="90%"><input type="password" name="password" size="20"></td>
   </tr>
   <tr>
 	<td width="10%">Name:</td>
 	<td width="90%"><input type="text" name="name" size="20"></td>
   </tr>
   <tr>
 	<td width="10%">Satus:</td>
 	<td width="90%"><select size="1" name="status">
 		<option>Server Administrator</option>
 		<option>Web Administrator</option>
 		<option>User</option>
 		<option>Locked User</option>
 	  </select></td>
   </tr>
   <tr>
 	<td width="10%">Befugnisse:</td>
 	<td width="90%"></td>
   </tr>
 </table>
 </form>
Kann mir jemand helfen?

Grüsse

Fish-Guts
 
Zuletzt bearbeitet:
Hi,

es gibt zwei Möglichkeiten wie Du das machen kannst. Die erste wird dazu führen, dass die Seite bei jeder Veränderung der Dropdownbox neu geladen werden muss, was die Benutzerfreundlichkeit recht einschränkt. Die zweite erfordert etwas eingehendere Javascript Kenntnisse.

1. Jedesmal wenn der User die Dropdownbox verändert schickst Du das Formular, in dem sich die Boxen befinden ab.

Code:
<form action="changeuser.php" method="POST" name="myform">
<select name="" onChange="document.myform.submit()">...</select>
</form>

Dann kannst Du in der drauffolgenden Seite die Daten auswerten und den Inhalt der Boxen/Felder erneut füllen.

2. Du legst Dir in JavaScript ein Array an und ließt beim Verändern der Dropdownbox die Daten aus und schreibst Sie in die jeweiligen Eingabefelder.

Da es sich in Deinem Fall um "geheime" Daten zu handeln scheint, ist die zweite Variante mit Sicherheit nicht die Beste.

Hoffe geholfen zu haben.

Marcus.
 
Moin

Danke, aber das haut so nicht hin, weil ich mit JavaScript kein MySQL abfragen kann. Gibts keine Möglichkeit in PHP sowas zu lösen?

Grüsse

FG
 
Das meinte ich eigentlich damit.
Du schickst per JavaScript dein Formular ab

<select size="1" name="username" tabindex="1" onChange="document.myform.submit()">

Jetzt kannst Du in deinem PHP-Skript, aufgrund des ausgewählten indexes die Daten aus der Datenbank auslesen. Dann präsentierst Du dem User das gleiche Formular nochmal, mit den Daten die Du aus der Datenbank ausgelesen hast.
 
Moin,

okay, das scheint Sinn zu machen. Wie komme ich dann an meine Selektion?

Grüsse FG ;)
EDIT: Sorry, war ne blöde Frage.
 
Die Selektion steht in Deinem Fall in der Variablen $_POST['username'];

PHP:
if(isset($_POST['username'])){
  $sql='select * from userdata where username="'.$_POST['username'].'"';
  $userdata=mysql_Fetch_array(mysql_query($sql));
}

Nun kannst Du das Formular mit den Daten die im Array $userdata drin stehen füllen.
 
Zurück