Hallo zusammen,
Ich habe ein kleines Problem bei meinem Script welches ich mir zusammengebastelt habe.
Ich habe zwei <select>-Listen und die zweite ist von der ersten abhängig.
Das heisst wenn in der ersten Liste einen Wert wähle (Werte aus einer Datenbank), dann soll in der zweiten Liste nur noch die Daten ausgegeben werden, welche den Fremdschlüssel der ersten gespeichert haben.
Das sieht dann so aus:
Ich habe ein (HTML)PHP-File:
<tr id="verkaufproductbrand">
<td>Produkt:</td>
<td>
Produktreihe:
<select name="service_form_verkaufbrandid" id="select">
<?php
echo "<option value=\"0\">---- Auswahl ----</option>";
$sql = "SELECT * FROM brands";
$result = mysql_query($sql) OR die(mysql_error);
while($row = mysql_fetch_assoc($result)){
$BrandID = $row["BrandID"];
$BrandName = $row["BrandName"];
echo "<option value=\"".$BrandID."\">".$BrandName."</option>";
}
?>
</select>
</tr>
<tr id="verkaufproductname">
<td></td>
<td>
<div id="insert" style="color:#000"></div>
</td>
</tr>
Alles anzeigen
Ein Javascript-File:
function $(id) {
return document.getElementById(id);
}
window.onload = function() {
$('select').onchange = function() {
getHttpRequest();
return false;
}
}
function getHttpRequest() {
var xmlhttp = null;
// Mozilla
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "includes/content/services/httprequest.php?brandid=1", true);
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState != 4) {
$('insert').innerHTML = 'Seite wird geladen ...';
}
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
$('insert').innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
Alles anzeigen
und ein zweites PHP-File:
<?php
// DB - Connection
include '../../../script/sessionhelpers.inc.php';
echo "Produktname:
";
echo "<select name=\"service_form_verkaufprodid\">";
// Selecht soll den Wert vom ausgewählten Select im HTML File auslesen
$select = $_GET["brandid"];
$sql = "SELECT * FROM products WHERE ProdBrandIDFS = '".$select."'";
$result = mysql_query($sql) OR die(mysql_error);
while($row = mysql_fetch_assoc($result)){
$ProdID = $row["ProdID"];
$ProdName = $row["ProdName"];
echo "<option value=\"".$ProdID."\">".$ProdName."</option>";
}
echo "</select>";
?>
Alles anzeigen
Ich möchte nun im javascript-file, dass er das
dynamisch anpasst. So dass die brandid=1 der wert ist, welchen ich im ersten <select> ausgewählt habe, also $BrandID. Dann kann ich im zweiten php-file diesen Wert in der Abfrage brauchen.
Hoffe habe mich so verständlich ausgedrückt.
Wäre um jede Hilfe froh.
Gruss und Danke
Dichti