Hallo Gemeinde,
ich habe ein kleines Problem beim dynamischen befüllen meiner SelectBox mit nur bestimmten Bereichen aus der Datenbank.
Meine Datenbank dafür sieht wie folgt aus
Tabelle1
ID | IDbereich
1 | bereich1
2 | bereich2
3 | bereich3
Tabelle2
ID | IDbereich | Vergehen
1 | bereich1 | vergehen1
2 | bereich1 | vergehen2
3 | bereich2 | vergehen3
4 | bereich2 | vergehen4
5 | bereich3 | vergehen5
6 | bereich3 | vergehen6
meine test.php (ausschnitt)
PHP-Code:
<script type="text/javascript">
$(document).ready(function() {
$("#selectbox_1").change(function(){
var id_hauptkategorie=$(this).children('option:selected').val();
$("#selectbox_2").load("includes/selectboxen.php",{value: id_hauptkategorie});
});
});
</script>
<tr>
<td>Bereich:</td>
<td>
<select id="selectbox_1" name="strafen_1" style="width:200pt">
<?php
while ($row = mysql_fetch_assoc($tabelle1))
{
?>
<option value="<?php echo $row['ID']; ?>"><?php echo $row['IDbereich']; ?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr>
<td>Vergehen:</td>
<td>
<select id="selectbox_2" name="strafen_2" style="width:200pt">
<?php
while ($row = mysql_fetch_assoc($tabelle2))
{
?>
<option value="<?php echo $row['ID']; ?>"></option>
<?
}
?>
</select>
</td>
</tr>
In der ersten SelectBox wähle ich mein Bereich aus --> funktioniert auch super soweit
Die 2. Box lass ich über java dynamisch füllen. Die selectbox.php sieht wie folgt aus.
PHP-Code:
<?php
if($_POST["value"]==1){
?>
<option value="1">a</option>
<option value="2">b</option>
<option value="3">c</option>
<?php
} elseif($_POST["value"]==2){
?>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<?php
} else {
?>
<option value="1">+</option>
<option value="2">-</option>
<option value="3">*</option>
<?php
}
?>
In sofern ich in der ersten SelectBox meine 3 Bereiche jeweils auswähle bekomm ich auch nur die jeweiligen 3 Kategorien ausgegeben. Mein Problem liegt eher darin, das ich hier statisch die 3 Optionen für die 2. Selectbox angebe. Wie kann ich es hier aber dynamisch aus der Datenbank angeben. Die Auswahl, dass ich die komplette Tabelle2 ausgebe bekomm ich auch hin. Würde hier aber gern nur aus Tabelle2 die jeweiligen Vergehen füllen lassen, wessen Bereich ich in der 1.Selectbox gewählt habe. Hatte auch Überlegt die beiden Tabellen mittels JOIN LEFT zusammen zufügen, nur bekomm ich dann immernoch nicht nur die Vergehen des ausgewählten Bereichs ausgegeben.
Steh da echt irgendwie aufm Schlauch.
(alle Angaben sind nur Synonyme oder Testwerte)