Hallo Jörg,
Es geht um die nötigen Javascripte ... und darum, diese rechtzeitig und richtig zu erzeugen. Das nötige PHP scheine ich zu haben. Aber den HTML-Quelltext, wie er im Browser ankommt noch nicht.
Mein kompletter jQuery Code sieht so aus
$(document).ready(function(){
$('#hersteller').change(function(){
$.post(
'inc/auslesen-serie.php',
{h_id:$('#hersteller').val()},
function(res){
$('#serien').html(res);
});
$('#geraete')
.find('option')
.remove()
.end()
.append('<option value="0">-- Bitte wählen --</option>')
.val('0');
});
$('#serien').change(function(){
$.post(
'inc/auslesen-geraete.php',
{s_id:$('#serien').val()},
function(res){
$('#geraete').html(res);
});
});
});
Das fertige HTML (der Teil um welches es geht sieht so aus)
<select name="hersteller" id="hersteller">
<option value="">-- Bitte wählen --</option>
<option value="1">Brother</option>
<option value="2">Canon</option>
<option value="3">Dell</option>
<option value="4">Epson</option>
<option value="5">HP</option>
</select>
<select name="serien" id="serien">
<option value="">-- Bitte wählen --</option>
<option value="863">Fax-COM</option>
<option value="864">Keine Serie</option>
<option value="865">T-Fax</option>
</select>
<select name="geraete" id="geraete">
<option value="">-- Bitte wählen --</option>
<option value="1">Fax-Com 337</option>
</select>
<button type="submit" name="test">Artikel suchen</button>
Der Vorgang ist:
1.) Ich wähle den Hersteller in diesem Fall "Brother" 2.) Anschließend wird die Serie gewählt, in diesem Fall "Fax-COM" 3.) Im letzten Schritt wird das Gerät gewählt, hier z.B. das Fax-Com 337
Nach Schritt 3 wird dann auf den Button abschicken geklickt und die Daten werden an die Datenbank geschickt, dafür habe ich wieder eine Funktion (die auch komplett funktioniert)
$produkt_suche = produkt_suche($mysqli, $herstellr_suche, $serie_suche, $gerate_suche);
Die Hersteller werden so eingebunden
<select name="hersteller" id="hersteller" required>
<option value="">-- Bitte wählen --</option>
<?php $hersteller = hersteller($mysqli); foreach($hersteller as $array){ ?>
<option value="<?php echo $array['h_id'];?>"><?php echo $array['h_titel'];?></option>
<?php } ?>
</select>
Die Serien (die Datei die über jQuery aufgerufen wird, sieht so aus)
<?php
require_once 'zugangsdaten.php';
require_once '../include/config.php';
require_once '../include/functions/uebersicht.php';
if (isset($_POST['h_id']) && $_POST['h_id'] != ""){ $neu = $_POST['h_id'];
?>
<option value="">-- Bitte wählen --</option>
<?php $serien = serien($mysqli, $neu); foreach($serien as $array){ ?>
<option value="<?php echo $array['s_id'];?>"><?php echo $array['s_titel'];?></option>
<?php }} ?>
Die letzte Datei für die Geräte sieht so aus (auch die wird über jQuery aufgerufen)
<?php
require_once 'zugangsdaten.php';
require_once '../include/config.php';
require_once '../include/functions/uebersicht.php';
if (isset($_POST['s_id']) && $_POST['s_id'] != ""){ $neu = $_POST['s_id'];
?>
<option value="">-- Bitte wählen --</option>
<?php $geraete = geraete($mysqli, $neu); foreach($geraete as $array){ ?>
<option value="<?php echo $array['g_id'];?>"><?php echo $array['g_titel'];?></option>
<?php }} ?>