Nach select neues select per mysql eingrenzen

CrushLog

Erfahrenes Mitglied
Hi

Ich weiss, dass das Thema schon x-mal hier aufgeführt ist, und dass es auch Lösungen dafür gibt, aber leider keine für mich passende. Ich weiss auch, dass ich das lieber ins JavaScript Forum posten sollte, aber ich poste es doch lieber hier.
Ich hab 2 select Boxen, eine in der der Fahrzeughersteller ausgewählt werden kann (siehe in etwa autoscout24) und eine in der dann das entsprechende Modell ausgewählt werden kann.
Ich möchte nun, dass das zweite Select per mysql Abfrage so eingegrenzt wird, dass nur die Modelle angezeigt werden, die zu dem im ersten select ausgewählten Hersteller gehören, sprich:
Man wählt VW und das zweite select sucht dann nur die Modelle von VW aus.
Das Ganze soll ohne lästigen Reload der Page funktionieren, und ich kann es auch nicht per form und dann onChange="document.form.sumbit" lösen, da das select mit anderen Sachen zusammen schon in einer form steht.
Weiss jemand, wie ich das am besten lösen kann? Meine Idee war es eine JS Variable mit dem Value des ausgeählten Herstellers zu erstellen, aber wie geb ich dann diese JS Variable an meine mysql Abfrage weiter?

Ich hoffe ihr seid nicht genervt oder böse und würd mich über Antwort freuen! :D

//Ben
 
Um ein SQL Statement abzusetzen muss ein Script auf dem Server ablaufen. Also muss neu geladen werden.
Was du aber kannst machen ist, beim Aufruf der Seite alle Wagen und dazugehörigen Typen an JS zu übergeben und wenn man dann was eingibt zeigt man das mit JS an. Wenn man aber eine anständig grosse DB hat wird der Browser bei nicht allzustarken PC warscheinilch beginnen rumzu zicken. Möchte auch sagen das es nicht eine besonders schöne Lösung ist ;)

MFG
redX
 
Die Modelle alle in ein Array zu setzen wollte ich aus eben diesem Grund vermeiden, denn, je mehr Hersteller desto mehr Modelle insgesamt :D
Und wie lös ich das dann am besten? Auch mit Reload der Page?
 
Schon mit Reload. Ich wüsste nicht wie sonst. Kannst ja dann mit einem einzelnen SQL Statment alle Daten die du brauchst auslesen...

MFG
redX
 
Ok, aber wie mach ich das? Wie geb ich denn PHP eine in JS gesetzte Variable oder so zurück, damit ich die Abfrage einschränken kann?
 
Also das ist jetzt wirklich PHP Basics!

Mit der Post oder Get Methode kannst du von einer Seite zur nächsten Variablen weitergeben.

z.B
<select name="Marke"><option>Audi<option>Opel<option>Mercedes</select>
<select name="Model"><option>Was<option>Auch<option>Immer</select>

In der nächsten Seite kannst du dann mit $_get["Marke"] darauf zugreifen, was der User eingegeben hat und kannst dann so dein SQL Statement absetzen. SQL kennst du dich aus?

MFg
redX
 
Ähm ich weiss wie ich das mach, danke, aber was muss ich dann ins onChange schrieben, damit nicht die Form submitted wird sondern nur die Seite aktualisiert wird...
Sorry steh grad echt ein bisschen aufm Schlauch...
 
Mit dem habe ich mich letztens auch rumgelschlagen ;)

Habe mal ein kleines Beispiel angehängt.. Wenn fragen auftauchen kannste Fragen.
Einfach bei beiden Feldern eine Zahl auswählen. Dann wirst du weitergeleitet. nur mit eingeschaltetem JS

MFG
redX
 

Anhänge

Zurück