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.

Select-Boxen

Empfohlene Antworten

Veröffentlicht

Hi,

ich erstelle gerade ein Eingabeformular. Hierbei gibt es 2 Selectboxen. Diese Select-Boxen werden mit Inhalten aus einer Datenbank gefüllt. Der Inhalt in der zweiten Selectbox soll immer je nach Auswahl in der ersten gefüllt werden.

In der ersten Select-box werden z.B. meine Gruppen angezeigt und in der zweiten sollen die Untergruppen angezeigt werden. Wie kann ich die select-Anweisung der zweiten select-box aktualisieren, wenn sie der Wert in der ersten geändert hat?

hier mein Beispiel:


<tr>
<td width="20%">
Gruppe:
</td>
<td width="60%">
<select name='eing_gruppe' size='1'>
<?
$sql = "select * from gruppe";
$result = mysql_query($sql);
$zahl = mysql_num_rows($result);

for($i=0; $i<$zahl; $i++)
{
$zeile = mysql_fetch_array($result);
echo "<option value='$zeile[id]'>$zeile[gruppenname]</option>";
}
?>
</select>

</td>
</tr>
<tr>
<td width="20%">
Untergruppe:
</td>
<td width="60%">
<select name='eing_untergruppe' size='1'>
<?
$select = "select * from untergruppe where gruppe='$eing_gruppe'";
$res = mysql_query($select);
$num = mysql_num_rows($res);

for($a=0; $a<$num; $a++)
{
$row = mysql_fetch_array($res);
echo "<option value='$row[id]'>$row[untergruppenname]</option>";
}
?>
</select>

</td>
</tr>
[/PHP]

Kann mir jemand bei diesem Problem helfen?

Wäre super.

Gruß Snopsy

Verschoben zur Webserverprogrammierung

mhhh, also mit php kann des nich funktionieren, wenn ich dich richtig verstanden hab. weil php is nur serverseitig. d.h. es ginge höchstens so das der user ein ding auswählt, dann "weiter" klickt und dann die passende untergruppe auswählen kann.

was du willst musst du wohl mit java-script machn. aba frag mich net wie ^^

also ich würde in der ersten select box per onchange eine js funktion aufrufen die dann die seite mit den entsprechenden parametern lädt.


<?
$sql = "select * from gruppe";
$result = mysql_query($sql);
$zahl = mysql_num_rows($result);
echo "select name=\"eing_gruppe\" onChange=my_function(this.form.eing_gruppe.options[this.form.eing_gruppe.options.selectedIndex].value)>";
for($i=0; $i<$zahl; $i++)
{
$zeile = mysql_fetch_array($result);
echo "<option value='$zeile[id]'>$zeile[gruppenname]</option>";
}

echo "</select>";
?>
[/php]

damit wird

[php]$zeile[id]

an die js-funktion my_function übergeben. wichtig ist natürlich, dass die zuordnung der untergruppen zu den gruppen über die id läuft.

das javascript könnte dann so aussehen:


echo "
<script type=\"text/javascript\">\n"
."function my_function(zeile_id){\n"
."window.location.href=\"deine_seite.php?untergruppen_id=\" + zeile_id + \";"
."}\n"
."</script>";
[/php]

dementsprechend mußt du natürlich die 2. db-abfrage anpassen. hoffe es hilft dir.

1. Möglichkeit:

Du lädst alle Daten in verschiedene JavaScript-Arrays und lässt dir das entsprechende Feld in deine zweite Auswahlliste einschtragen.

(Vorteil -> dynamische Genrierung läuft schneller; Nachteil -> laden der Seite dauert länger, da (viele) unnötige Daten aus der Datenbank ausgelesen werden)

2. Möglichkeit

Bei "onChange" rufst du eine JavaScript-Funktion auf die den Wert aus der ersten aus der ersten ausliest, ein Formular abschickt und so die Seite erneut aufbaut, diesmal mit der Untergruppeneinträgen.

(Vorteil -> schnellerer Seitenaufbau; Nachteil -> jedes Mal wenn eine andere Gruppe gewählt wird, wird die Seite neu aufgerufen / aufgebaut (>TRAFFIC))

3. Möglichkeit

Du baust einen weiten Submit-Button hinter den Gruppen ein. Der Rest läuft ähnlich wie 2.

(Vorteil -> JavaScript kann deaktiviert sein; Nachteil -> siehe 2.)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

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.