Haluaisin scriptin, joka helpottaisi pitkasta listasta () valitsemista. Osaisiko kukaan kommentoida scriptia, joka on sivun LOPUSSA sivulla: http://www.activewidgets.com/javascript.forum.121.3/incremental-search.html
Kopioin kaiken tekstin yhdeksi html-sivuksi ja sain toimimaan. Mutta miten saisin lisattya tuon toiminnallisuuden suht helposti usealle sivulle? Eli haluaisin siirtaa tagien valisen osuuden erilliseen tiedostoon, mutta entas kun haluaisin myos poimia listan sisallon tietokannasta (php&mysql).. Voisinko "koota" scriptin jotenkin yhdeksi funktioksi tms jota voisin kutsua lyhyesti kultakin sivulta ja antaa kutsussa jonkin sortin pointterin tms tietokannasta poimittuun listan sisaltoon?
Onko oheinen scripti ylipaataan paras tai edes kohtalainen tapa toteuttaa incremental search?
incremental search
4
639
Vastaukset
- tarkentaa
Incremental search tarkoitaa hakua joka antaa tulokseksi (tavallisesti) enemmän kuin yksi kenttä (kuten hakisit puhellinluettelosta kaikki joiden sukunimet alkavat "Nie" (Niemi, Anne, Niemi, Ville, Nieminen, Jussi jne).
Ainoa järkevä tapa implementoida suurta tietomäärää on tietokannan avulla, jos se tulee verkkosivuille valinta on todennäköisesti mySQL.
Millainen SQL-haku (query) sinun pitäisi tehdä en voi kertoa koska kysymyksesi ei sisällä tarvittavat tiedot.
Haku tuloksena saat record-setin, jonka purku tapahtuu kenttä kerrallaan. Oikea työkalu tähän on php (tai asp, perl, c...). Javaskriptin käyttö on vähän samaa kun poistaisi viisaudenhampaat peräaukon kautta.
Miksi?: Javaskript on tulkkaava (hidas) ja se suoritetaan sinun koneellasi (tiedon siirto verkon yli tekee siitä vielä hitaampi). Vaikka se teknisesti olisi mahdollista, sovelluksesta tulee hidas (kuten noista linkkisi vastauksista varmasti jo luit)
Eli käytä php ja mySQL niin sinulla ei pitäisi olla mitään ongelmia. Jos haluat yksityikohtaisemman vastauksen, muoteile kysymyksesi uudestaan siten että paremman vastauksen antaminen on teknisesti mahdollista. (En jaksa yrittää arvailla mitä sinä loppujen lopuksi yrität tehdä, jos minä jaksan kirjoittaa vastauksen niin sinä myös jaksat muotoilla kysymyksesi!)- lisää tietoja
Jos haluat tehdä monivalinta selaimellasi, luo phpllä kaavake (form) johon tulostat kaikki kentät. Jokaisen kentän kohdalle luot valinta-painikkeen (button type=checkbox, id=xxx tai name=xxx). id:t tarvitset sen takia että php:ssä tiedät mikä kenttä on kyseessä. Lopuksi painike button type=submit.
Sen jälkeen käsittelet kaavakkeen sisältöä php:ssä.
Verkosta löytyy tuhansia esimerkkejä tuollaisista sovelluksista (verkkokauppa ym).
- lisssu
Ok, yritan selittaa paremmin. Eli haluan webbisivulle "drop down" valikon (tehdaan :lla), jossa on pitka lista valittavia (vaikkapa noin 50 sukunimea aakkosjarjestyksessa). Koska on jokseenkin hankalaa valita noin pitkasta listasta, ajattelin helpottaa valintaa siten, etta valitsija voisi antaa pari ekaa kirjainta ja lista lyhenisi vastaavasti (painamalla "v" tulisi kaikki v:lla alkavat nimet, "vi" antaisi virtaset jne). Lisaksi sukunimien lista haettaisiin aina tietokannasta (kulloinkin mahdollisen setti nimia).
Minulla on kaytossa mysql ja php, osaan hakea tiedot ja tehda valikon :lla. Hakuosuus eli listan asettainen lyheneminen pitaisi kuitenkin varmaan tehda javascriptilla, koska sita tarvitsee sivun kayttaja (enka mina joka vain haen valittaviksi kaikki nimet tietokannasta). Sen(kin) opiskelussa olen kuitenkin aivan alussa, joten etsin ja loysin valmiin koodin patkan johon annoin linkin aiemmin (http://www.activewidgets.com/javascript.forum.121.3/incremental-search.html)
mutta en taida osata ottaa sita oikein kayttoon. Enka arvioida onko se ok (scriptin kirjoittaja sanoo olevansa eka kertaa asialla..). Eli kysymyksia taitavammille:
1) Onko javascripti oikea toteutustapa tuohon? Tuskin kannattaa hakea joka kerta tietokannasta vaan haku kohdistuisi kerran tietokannasta haettuun joukkoon.
2) Onko oheinen scripti nopeasti katsottuna ok (toimii kylla) vai onko joku muu tapa (vaikka valmis funktio javascriptissa tms)?
3) Oheisessa scriptissa valittava lista (sukunimet) on yhden javascriptin funktion sisalla, miten saan tiedot sinne tietokannasta? Sotkenko php:ta javascriptin sekaan vai yritanko muokata funktiota siten, etta jonkun sortin pointteri listaan (sukunimiin) annettaisiin funktiota kutsuttaessa sivulta?
Luulisin etta joku on helpostikin tormannyt samaan ongelmaan, miten muut ovat sen ratkaisseet?- lisssu
Taisin pyytaa liikoja, eli selvittelen sita joskus kun taitoni javascriptista ovat karttuneet ja yritan parjata siihen saakka ilman k.o. toimintoa. Kiitos vastaamista yrittaneille!
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Hallitus pyrkii rajoittamaan kaupan omien halpamerkkien myyntiä
Helsingin Sanomien mukaan hallitus valmistelee lakihanketta, joka suitsii kaupan valtaa ja rajoittaa omien halpamerkkien2373580- 623268
Björn Wahlroos, maataloustuet lakkautettava
Sanoo pankkimies. Mitäs persut ja muut tukinulliem perskärpäset tähän? "Wahlroos listaa kansallisen maataloustuen. – I792767Persut päättivät hiilivoiman kieltämisestä Suomessa
Moni on jo unohanut kuka hyväksyi hiilivoimaloiden kieltämisen Suomessa: persut Sukupuolineutraalit liikennemerkitk392601Työvoimatoimisto
Nyt kysyisin miksi pitää käydä työvoimatoimistossa paikanpäällä, kun he eivät muuta tee kuin laittavat koneelle uudet ve942266Nalle Wahlroos ei ulise kuten Teemu Selänne sähkölaskuista
Nalle "hah hah" nauroi saamistaan sähkötuista, kun taas Teemu-poika itkeä tirautti kovasta sähkön hinnasta. Nalle nauro281963Muistattekos kuinka kokoomus ja persut vinkuivat sähkön hinnasta?
Oppositiossa vuonna 2022, kun sähkön hinta uhkasi nousta 20 senttiin kilowattitunnilta? Nyt ovat hiiren hiljaa, kun pitä911961Vain persut vastustivat hiilivoimaloiden alasajoa
Persut vastusti jyrkästi hiilen kieltolakia ja on myöhemmin vaatinut hiilivoimaloiden pitämistä käytössä. He perusteliva411854Mikä aate kaiken pahan takana?
Se laiskistuttaa kansat, opettaa vaatimaan etuisuuksia, syleilee maailmoja eikä omaa kansaa.1011763Mietin sua liikaa
Mietin nytkin sitä, että millaista se olisi tulla kotiin, kun sinä olisit täällä vastassa. Tai niin päin, että sinä tuli691093