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
648
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
Petteri Orpo on satusetä
Väittää että työllisyys on Suomessa samalla tasolla kuin hallituksen aloittaessa kesällä 2023. Fakta on, että työllisi422998Kauppalehti - Törkeä skandaali paljastui: Espanja käytti EU-rahoja ihan muuhun kuin piti
Espanja on käyttänyt miljardeja euroja EU:n elpymisavustuksia eläkkeisiin ja sosiaalimenoihin – ja pyytää lisää. Espanj872906SDP pelastaa uppoavan Suomen
2027 kun SDP voittaa ylivoimaisesti vaalit alkaa Suomen uusi raju syöksy kohti täystyöllisyyttä ja turvallisempaa yhteis1602812Jopa Espanjassa talous kasvaa, Purra vain irvistelee
Huomaa kuinka Purra on Suomen historian huonoin miniseteri, joka ei ole saanut aikaiseksi kuin tuhoa, Siis jopa vasemmis2012105- 1121978
Orpo ja Purra, käykää hakemassa oppia Espanjasta
Espanja on näyttänyt kuinka kova työttömyys nujerretaan ja saadaan maan talous palautettua nousu-uralle. Ei ole häpeä kä151963Jääkiekon MM:t pitää siirtää MTV:ltä Ylelle
Persuille ikäviä uutisia taas. . Valtioneuvoston asetuksen mukaan MM-kisat kuuluvat kansallisesti merkittäviin tapahtumi501579Tsemii Pete ja Linda! Tässä tärkeät kellonajat Euroviisut-viikon ohjelmista tv:ssä!
Euroviisut järjestetään Wienissä Itävallassa 12.-16. toukokuuta. Tsemii Pete ja Linda kisaan! Vetäkää Suomelle voitto Li371564Raiskaukset loppumaan?
Onko kenelläkään tiedossaan tuloksellisia keinoja saada väkisinmakaaminen loppumaan tai edes vähenemään? Lainsäädännön3701421- 871061