Sivulla on formi, joka sisältää selectin. Ongelmana on se, että valitsemalla jonkin selectin optioneista, selectin viereen pitäisi tulla uusi select jonka sisältö määräytyisi valinnan mukaan. Eli esim. jos on ensin select jossa on aakkoset A-Ö ja valitsee listasta A:n, selectin viereen tulostuisi toinen select jossa on A:lla alkavat nimet. Nämä nimet olisivat tässä tapauksessa MySQL-tietokannassa. Kyseessä on siis hieman samantapainen kuin nettiauto.comin haku. Valitsee selectistä automerkin niin seuraavaan selectiin tulee kyseisen merkin mallit. Minun tekemän sivun tapauksessa se seuraava select ilmestyy vasta kun listasta on jotain valittu.
Eli varsinainen kysymys on siinä, että kun tässä ensimmäisessä selectissä pitää varmaankin olla javascriptin onclick tai onchange? Sillä taas kutsutaan javascript-funktiota, jonka pitäisi tehdä PHP:llä mysql-haku ja etsiä valinnan mukainen sisältö kannasta, tehdä uusi select viereen ja tulostaa hakemansa sisältö sitten juuri luotuun selectiin. Onko tälläinen ylipäätään mahdollista ja jos on, niin kuinka?
Hyvä jos joku ymmärsi kysymyksen pointin ja tietäisi vielä ratkaisunkin :)
ihan päässä ajateltuna tuli tämmöinen ratkaisu mieleen, en tiedä miten hyvin toimii käytännössä:
Voithan hakea aluksi kaikki tiedot php:lla tietokannasta ja tulostaa ne javaScript-koodiin (esim. taulukkoon ~ jokaiselle kirjaimelle on oma taulukko tms.). Sitten javaScriptillä vaan muutat selectin sisältöä sen mukaan, mikä kirjain on valittuna.
Plussat:
Tiedot ladataan suoraan, eikä yhteyttä tarvitse avata myöhemmin.
Datan vaihto on nopeahko, kun sivu on latautunut.
Miinukset:
Jos dataa on paljon, saattaa sivun avautuminen kestää (koko data ladataan kerralla)
Dataa ei päivitetä kuin sivun latauden yhteydessä.
Monimutkainen, jos valintoja on paljon (paljon vaihtoehtoja).
Tuota kirjain-mallia käytin siis vain esimerkkinä jota olisi helppo neuvoa. Näin asiaa lisää selvittääkseni oikea tilanne on siis se, että kannassa on lista erinäisistä pätevyyksistä mitä henkilöillä on. Ja pätevyyksillä on myös omat ylälajinsa. Eli esim. pätevyyksiä A-ajokortti, B-ajokortti jne. ja nämä kuuluvat Ajokortit -ylälajiin.
Eli miten tuo ohjeesi käytännössä menisi?
Ensin hakisin selectiin kaikki pätevyyksien ylälajit, ja jokaisen optionin value olisi varmaankin tämän pätevyyden ylälajin id. Sitten hakisin kaikki pätevyydet mitä kannasta löytyy. Laitettaisiinko nämä php:llä sitten arrayhyn? Miten nämä tulostettaisiin javaScript-koodiin kuten tuossa neuvot? Kun en oikein sisäistänyt että miten nuo saataisiin taulukkoon ja mitä taulukon arvoksi tulisi. Pitäisikö olla arrayt joiden nimi olisi pätevyyden ylälajin nimi/id ja tämän arrayn sitten sisältää nämä pätevyydet mitkä siihen kuuluu? Ja kuinka taas javascriptissä niitä pitäisi käsitellä? Javascriptistä olen sen verran ulkona etten ihan äkkiseltään osaa kyseistä skriptiä kyllä kasata, jos joku osaisi vähän vielä valaista.
Aihe on jo aika vanha, joten et voi enää vastata siihen.