MySQL-Felder "automatisch" füllen

Moin Moin,

ich habe ein kurze frage. Ich will über einen Formular Daten in eine Datenbank eintragen. Jetzt wird ein Teil der Werte die Eingetragen werden über ein dynamisches Menü ausgewählt. Ich würde jetzt gerne realisieren das wenn im Menü der wert X ausgewählt wird in einen zweiten Feld im Formular ein Feld mit den zugehörigen Daten des Datensatzes gefüllt wird.

Könnt Ihr mir einen Tip geben wie ich dies bewerkstelligt bekomme.

Vielen Dank bereits im voraus,

Alex:confused:
 
Hi Alex,

das geht eigentlich ganz einfach mit einer IF-Abfrage:

PHP:
IF ($_POST["wert"] == "X") {
// MySQL Abfrage um die entsprechenden Daten zu ermitteln
} ELSE {
// irgendwas anderes
}

Diese Abfrage wird aber erst ausgeführt nachdem das Formular abgeschickt wurde. Da du geschrieben hast "automatisch" gehe ich davon aus das du diese Daten haben willst ohne das Formular abzuschicken und das kann PHP nicht.

Da hilft dir zum Beispiel Ajax.
 
Moin, Danke für die schnelle Antwort.

hätte man ja auch selbst drauf kommen können, jetzt habe ich aber noch einmal eine Frage. der Inhalt der Liste wird ja auch aus einer Tabelle befüllt. deren Daten sich ja auch ändern können. Jetzt müsste ich ja für jeden eventuell vorkommenden Datensatz eine If / Else verzweigung schreiben. Das ist leider nicht wirklich praktikabel, da sich ja wie gesagt der Inhalt der LIste auch ändern kann.

Wie kann ich da vorgehen ?

Alex
 
Nein, du kannst es auch so machen das geprüft wird ob eine Auswahl mit POST/GET übergeben wird und dann führst du einfach die Abfrage aus und trägst die Werte ein:


PHP:
<select name="" size="1">
IF (!ISSET($_POST["wert"]) OR $_POST["wert"] == "") {
    echo "<option value=''>Bitte oben einen Eintrag auswählen</option>";
} ELSE {
    // MySQL Abfrage
    $sql = "SELECT * FROM tabelle WHERE feld = '" .$_POST["wert"] ."'";
    $rs = mysql_query($sql);
    FOR ($a = 0; $a < mysql_num_rows($rs); $a++) {
        echo "<option value='" .mysql_result($rs, $a, "feld") ."'>" .mysql_result($rs, $a, "feld")."</option>";
    }
}
</select>

Hoffe mal das stimmt so. Aber es sollte zumindest zeigen wie es gemeint ist.
 
Zuletzt bearbeitet:
Zurück