Miten tollanen valikko joka näyttää tietokannassa olevien tietojen määrän "selaimena" (kuten tällä sivulla on Sivut: 1 2 3 4 5 ... 53) voi oikein toteuttaa ja onko siitä esimerkkejä koodivinkeissä? vissiin pitää kasvattaa id numeroa jotenki...
Olimpa viisas... eihän sitä valikkoa täällä näy vaan aihe sivulla.
id int 5 auto_increment primary key(id) ja sitten haetaan rivien määrä, jaetaan se määrällä joita halutaan näyttää sivulla ja sitten printataan tulos. sitten siitä taas säädetään tarvittava määrä linkkejä.
Tapoja on yhtä monta kuin tekijöitäkin, mutta lähtökohta on se, että ensin määritellään sivulle tulevien viestien (tai mitä tahansa sivulle tuleekin) lukumäärä. Ja sivumuuttujan perusteella sitten haetaan kannasta tietoa siten, että aloituskohta = viestitpersivu * (sivu-1). Eli jos kyseessä on ensimmäinen sivu, aloituskohta on 0 jne. Navigoinnin toteuttamiseksi tarvitaan myös kaikkien viestien lukumäärä, jotta saadaan sivujen lukumäärä. Eli sivulkm = ceil(viestienlkm/viestitpersivu). Sitten vain silmukassa tulostellaan linkit sivuille omaan tyyliin ykkösestä lähtien sivulukumäärään saakka.
Ja kannasta kun haetaan tietoa, voidaan alkukohta ja lukumäärä määrittää LIMITillä malliin LIMIT alkukohta,viestitpersivu.
Todennäköisesti hieman epäselvästi selitetty, mutta toivottavasti ymmärsit idean :)
Tarkoittaakohan kasetti nyt tuota ominaisuutta tuossa sivutuksessa, että alkupäästä näytetään tietyn verran sivuja sitten kolme pistettä ja viimeinen sivu. Ite joskus tarttin vastaavaa jossain ja en muuta muista kun että koodista tuli niin hirveetä purkkaa, että ei ole ennen nähty. Eihän tuo tietokannan tietojen sivuttaminen nyt siis vaikeeta ole, mutta jos sivuja on satoja, niin niiden sivuttaminen järkevästi on jo ihan toinen asia.
Ajattelin tehdä hakusivun, jonka hakutulokset listautuvat juuri ajv:n tarkoittamalla tavalla. Tietokantaan voi nimittäin tulla vuosittain tuhansia tietoja... Tietysti jos olisi jokin muu tapa tehdä käytettävä selaus suurelle tietokannalle. Mieleeni tulee vain se että hakutuloksista tulee vain esim. nimi ja aika esille linkkinä, josta taas voidaan aukaista sivu joka näyttää kaikki loput tiedot. Tämä kaikki sen takia että yhden henkilön tiedot voitaisiin printata tarvittaessa paperille.
Aihe on jo aika vanha, joten et voi enää vastata siihen.