selectbox

sunflower84

Erfahrenes Mitglied
Hallo Leute

Ich habe Daten aus einer MySQL Datenbank in eine selectbox geschrieben. Es gibt 3 Selectboxen (Hersteller, Modelle, PS)
Es gibt nur einen Hersteller Renault. Wenn ich auf Modelle klick soll die passende PS Zahl erscheinen. Wie mache ich das?
Meine DB sieht folgendermaßen aus:
Meine db heißt auto. In auto habe ich 3 Tabellen:
Tabelle 1 heißt herstellert mit einer Spalte Hersteller_ID und einer Spalte Hersteller
Tabelle 2 heißt modellet mit folgenden Spalten: Hersteller_ID, Modelle_ID, Modelle
Tabelle 3 heißt pst mit folgenden Spalten: Hersteller_ID, Modelle_ID, PS_ID, PS, KW

Hat jemand eine Idee wie so etwas funktioniert?
Hier mein Code:

PHP:
 <form name="open" action="menue3.php" method="get">
<?php


// Oeffne Verbindung zum Datenbankserver
$db_verbindung = mysql_connect( 'xxx', 'xxx', 'xxx' )
     or die( 'Konnte keine Verbindung herstellen : ' . mysql_error() );

// Waehle Datenbank
mysql_select_db( 'auto' )
     or die ( 'Kann Datenbank "auto" nicht auswaehlen : ' . mysql_error() );
$sql = "SELECT * FROM HerstellerT ORDER BY Hersteller_ID";
$tabelleninhalt = mysql_query($sql) or die("Anfrage nicht erfolgreich");


?>
<!-- Selectbox für Hersteller -->
<select style="width:100px" onchange="document.open.submit()" name='Hersteller' size='10'>
<?php while ($ausgabe = mysql_fetch_array($tabelleninhalt))
{?>
<option value="<?php print ("$ausgabe[Hersteller_ID]")?>"><?php print ("$ausgabe[Hersteller]");?></option>
<?php
}
?>
</select>
<?php mysql_close( $db_verbindung );?>


<?php
$db_verbindung = mysql_connect( 'lxxx', 'xxx', 'xxx' )
     or die( 'Konnte keine Verbindung herstellen : ' . mysql_error() );
// Waehle Datenbank
mysql_select_db( 'auto' )
     or die ( 'Kann Datenbank "auto" nicht auswaehlen : ' . mysql_error() );
$sql = "SELECT * FROM ModelleT ORDER BY Modelle";
$tabelleninhalt = mysql_query($sql) or die("Anfrage nicht erfolgreich");
?>

<!-- Selectbox für Modelle -->
<select style="width:100px" onchange="document.open.submit()" name='Modelle' size='10'>
<?php while ($ausgabe = mysql_fetch_array($tabelleninhalt))
{?>

<option value="<?php print ("$ausgabe[Modelle_ID]")?>"><?php print ("$ausgabe[Modelle]");?></option>

<?php
}
?>
</select>
<?php mysql_close( $db_verbindung );




?>


<?php
$db_verbindung = mysql_connect( 'xxx', 'xxx', 'xxx' )
     or die( 'Konnte keine Verbindung herstellen : ' . mysql_error() );
// Waehle Datenbank
mysql_select_db( 'auto' )
     or die ( 'Kann Datenbank "auto" nicht auswaehlen : ' . mysql_error() );
$sql = "SELECT * FROM pst ORDER BY PS";
$tabelleninhalt = mysql_query($sql) or die("Anfrage nicht erfolgreich");
?>

<!-- Selectbox für PS -->
<select style="width:100px" onchange="document.open.submit()" name='PS' size='10'>
<?php while ($ausgabe = mysql_fetch_array($tabelleninhalt))
{?>

<option value="<?php print ("$ausgabe[PS_ID]")?>"><?php print ("$ausgabe[PS]");?></option>

<?php
}
?>
</select>
<?php mysql_close( $db_verbindung );
?>

Liebe Grüße

Sunflower84
 
D.h. du hast 3 Selectboxen.
Wenn du den Hersteller wählst (gibt nur einen, also überflüssig) erscheinen in der Selectbox Modelle die Modelle von dem gwählten Hersteller. Wählst du nun den Hersteller, so füllst du die Selectbox PS mit den PS Werten des Modells.

Du überprüfst bei dem Laden der Seite, ob das Formular abgeschickt wurde bzw. ob die Selectbox Modelle einen Wert beinhaltet. Wenn ja, dann benutzt du den Wert für das SELECT Statement um die PS aus der DB zu holen. Diese gibst du dann aus. Fertig.
 
Das habe ich mir schon gedacht. Aber wie überprüfe ich, ob das Formular abgeschickt wurde oder ob die selectbox einen Wert beinhaltet?

Lg
Sunflower84
 
Zurück