kranio Geschrieben 27. Dezember 2005 Geschrieben 27. Dezember 2005 Hi, ich würde gerne das folgende Beispiel in PHP haben, da ich kein Javascript einsetzen möchte: http://www.drweb.de/javascript/dynamische_dropdown_menues.shtml Hat jemand von euch eine Idee, wie das funktionieren könnte? Zitieren
robotto7831a Geschrieben 27. Dezember 2005 Geschrieben 27. Dezember 2005 Wenn Du gar kein JS einsetzen willst, dann dürfte das schwierig werden. PHP wird nämlich auf dem Server ausgeführt und nicht auf dem Client. Frank Zitieren
kranio Geschrieben 28. Dezember 2005 Autor Geschrieben 28. Dezember 2005 Hm, das ist natürlich schlecht. Ich dachte, ich könnte das ähnlich wie in den folgenden Beispiel machen, wo es um dynamische aufklappbare Menüs geht: http://www.it-academy.cc/content/article_browse.php?ID=1190 Zitieren
robotto7831a Geschrieben 28. Dezember 2005 Geschrieben 28. Dezember 2005 Dafür muss aber jedes mal die Seite neu aufgebaut/ geladen werden. Frank Zitieren
kranio Geschrieben 28. Dezember 2005 Autor Geschrieben 28. Dezember 2005 Das ist blöd. Aber wenn es nicht anders geht. Ich habe eine interessantw Lösung im Netz gefunden, die ich direkt so verwenden bzw. umsetzen könnte: (Die Alternative) http://www.ohne-aktive-inhalte.de/codebeispiele/dynamisches_formular/ Zitieren
kills Geschrieben 29. Dezember 2005 Geschrieben 29. Dezember 2005 Hi, (Die Alternative) http://www.ohne-aktive-inhalte.de/codebeispiele/dynamisches_formular/ Mit dieser Lösung kannst du den User ganz schnell verwirren. Er wählt oben einen Wert aus, drück auf "weiter". Jetzt tauscht er den Wert oben (Mathematik, Informatik...) wieder (vergisst den "wechseln" button zu drücken), und schon passen deine Wertepaare nicht mehr zueinander. Gruß, Markus Zitieren
kranio Geschrieben 29. Dezember 2005 Autor Geschrieben 29. Dezember 2005 Das stimmt natürlich. Ich werde den "Wechseln" Button auf der Folgeseite weg lassen, das Dropdown entfernen und die Variable als Text ausgeben. --- Es bei dieser Lösung nur blöd, dass ich für jeden Eintrag in dem Dropdown eine eigene PHP-Datei erstellen muss. Hast du eine Idee, wie sich das vereinfachen lässt? Das Formular ist bis auf ein Dropdownfeld identisch. Zitieren
kills Geschrieben 29. Dezember 2005 Geschrieben 29. Dezember 2005 mach doch einfach so: form.php <?php $feld1 = array( 'Mathe', 'Englisch', 'Physik'); $feld2 = array(); $feld2['Mathe'] = array( 'Analysis', 'Geometrie'); $feld2['Englisch'] = array( 'Gramatik', 'Vokabeln'); $feld2['Physik'] = array( 'Theorie', 'Übungen'); $feld1_idx = empty($_POST['feld1']) ? '' : $_POST['feld1']; $feld2_idx = empty($_POST['feld2']) ? '' : $_POST['feld2']; ?> <form action="form.php" method="post"> <select name="feld1" onChange="this.form.submit();"> <?php foreach ( $feld1 as $val1) { echo '<option>'. $val .'</option>'; } ?> </select> <select name="feld2" onChange="this.form.submit();"> <?php $feld2 = isset( $feld2[ $feld1_idx]) ? $feld2[ $feld1_idx] : $feld2['Mathe']; foreach ( $feld2 as $val1) { echo '<option>'. $val .'</option>'; } ?> </select> </form> Dann haste alles in einer Datei. ungetestet! Gruß, Markus Zitieren
kranio Geschrieben 30. Dezember 2005 Autor Geschrieben 30. Dezember 2005 Danke für den Code, das sieht schon sehr gut aus. Ich habe nun noch zwei Probleme. Sorry, wenn ich solche Fragen stelle, aber ich bin noch nicht fit in PHP: - Wie bekomme ich es hin, dass die gewählten Werte im Auswahlfeld stehen bleiben? - Wie kann ich die gewählten Werte ansprechen/ausgeben/weiterverwenden? Ich habe es wie folgt angepasst: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Unbenanntes Dokument</title> </head> <body> <?php $feld1 = array( 'Altstadt', 'Bergheim', 'Boxberg', 'Emmertgrund', 'Handschuhsheim'); $feld2 = array(); $feld2['Altstadt'] = array( '12.01.2006', '13.02.2006', '12.03.2006', '12.04.2006'); $feld2['Bergheim'] = array( '11.01.2006', '11.02.2006', '11.03.2006', '11.04.2006'); $feld2['Boxberg'] = array( '10.01.2006', '10.02.2006', '10.03.2006', '10.04.2006'); $feld2['Emmertgrund'] = array( '09.01.2006', '09.02.2006', '09.03.2006', '09.04.2006'); $feld2['Handschuhsheim'] = array( '08.01.2006', '08.02.2006', '08.03.2006', '08.04.2006'); $feld1_idx = empty($_POST['feld1']) ? '' : $_POST['feld1']; $feld2_idx = empty($_POST['feld2']) ? '' : $_POST['feld2']; ?> <form action="form.php" method="post"> <select name="feld1" onChange="this.form.submit();"> <option>Stadtteil wählen</option> <?php foreach ( $feld1 as $val1) { echo '<option>'. $val1 .'</option>'; } ?> </select> <br /><br /> <select name="feld2" onChange="this.form.submit();"> <option>Termin wählen</option> <?php $feld2 = isset( $feld2[ $feld1_idx]) ? $feld2[ $feld1_idx] : $feld2['Altstadt']; foreach ( $feld2 as $val2) { echo '<option>'. $val2 .'</option>'; } ?> </select> </form> Ihre gewählten Werte: <p>Stadtteil: <?php $feld1 ?><br /> Termin: <?php $feld2 ?></p> </body> </html>[/PHP] Zitieren
kranio Geschrieben 30. Dezember 2005 Autor Geschrieben 30. Dezember 2005 Ihre gewählten Werte: <p>Stadtteil: <?php $_REQUEST["feld1"]; ?><br /> Termin: <?php $_REQUEST["feld2"]; ?></p>[/php] Die Werte der beiden Felder müsste ich doch mit obigem Code abfragen können, oder? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.