Wie kann ich ein Javascript-Array mit MySQL-Daten belegen?
Hallo, Ihrs, :)
ich arbeite gerade an einer Tauschbörse, dabei sollen Leute selbst Angebote erstellen können, wobei Sie in <Select>-Feldern eine Rubrik und eine zugehörige Unterrubrik auswählen können sollen.. nun hab ich schon einen CodeSchnippsel gefunden, der die Übergabe von der ersten Select-Box zur zweiten Select-Box realisiert. allerdings ist das ein Beispiel-Array und ich weiß noch nicht, wie ich das mit den Daten aus der MySQL-Abfrage belegen kann.
Kann mir das bitte einer von euch basteln? (Falls nötig würde ich für den fertigen Schnippsel auch gern ein bissel was spenden.. :)
Hier die bisher vorhandenen CodeSchnippsel:
Der JavaScript-Code aus dem Beispiel:
Code:
<!--SELECT dynamisch belegen-->
<script type="text/javascript">
/*
var valuesSec = new Array(
new Array("--"),
new Array("a", "b", "c"),
new Array("1", "2", "3", "4"),
new Array("x", "y", "z")
);
*/
var valuesSec = new Array(
new Array("--"),
new Array(new Array("a", "value a"), new Array("b", "value b"), new Array("c", "value c")),
new Array(new Array("1", "value 1"), new Array("2", "value 2"), new Array("3", "value 3"), new Array("4", "value 4")),
new Array(new Array("x", "value x"), new Array("y", "value y"), new Array("z", "value z"))
);
function setSecondary() {
nPos = document.myForm.firstSel.selectedIndex;
nOldLength = document.myForm.secondSel.length;
nNewLength = valuesSec[nPos].length;
for(i=0; i<nNewLength; i++) {
document.myForm.secondSel.options[i] = new Option(valuesSec[nPos][i][1]);
document.myForm.secondSel.options[i].value = valuesSec[nPos][i][0];
if (i==0) document.myForm.secondSel.selectedIndex = 0;
}
for(i=nOldLength; i>nNewLength; ) document.myForm.secondSel.options[--i] = null;
}
</script>
Der html-Code zur Ausgabe der Select-Felder:
HTML-Code:
<div align="center">
<form id="myForm" name="myForm" action="" method="POST">
<select id="firstSel" name="firstSel" onChange="setSecondary();">
<option>--</option>
<option>a</option>
<option>b</option>
<option>c</option>
</select>
<select id="secondSel" name="secondSel">
<option>--</option>
</select>
<input type="submit" value="Ab die Post">
</form>
</div>
hier als Beispiel aus dem Seiten-Menü die funktionierende Anzeige (alles in einem Select-Feld, aber korrekt geordnet),(Dank an Lokutos ;) :
HTML-Code:
<select name="rubrik">
<option value="" <? if ($_POST['rubrik'] == "0") echo 'selected';?>>Bitte wähle:</option>
<?php
$uhol = mysql_query("SELECT * FROM rubriken WHERE rubrik_parent_id = '0' ORDER BY rubrik_bezeichnung");
while ($anzeige = mysql_fetch_array($uhol)) {
?>
<option value="<?php echo $anzeige['rubrik_id'];?>" <? if ($_POST['rubrik'] == $anzeige['rubrik_id']) echo 'selected';?>><?php echo $anzeige['rubrik_id'];?> <?php echo $anzeige['rubrik_bezeichnung'];?></option>
<?php
$subhol = mysql_query("SELECT * FROM rubriken WHERE rubrik_parent_id = '".$anzeige['rubrik_id']."' ORDER BY rubrik_bezeichnung");
while ($subanzeige = mysql_fetch_array($subhol)) {
?>
<option value="<?php echo $anzeige['rubrik_id'];?>" <? if ($_POST['rubrik'] == $anzeige['rubrik_id']) echo 'selected';?>> <?php echo $subanzeige['rubrik_id'];?> <?php echo $subanzeige['rubrik_bezeichnung'];?></option>
<?php
}
}
?>
</select>
Jo, ich würde mich sehr freuen, wenn da jemand von euch sich mal dran setzen könnte... ... ausgelobter Preis 5 Eu mit Rechnung :biggrin1::yes: