Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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?

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

Hi,

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

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.

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

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]

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?

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.