Hei!
Mitenkähän tehtäisiin kyseynpoikanen, joka etsii tietokannasta joka 25 tiedon. Tämä tieto pitäisi värjätä myös punaiseksi, mutta se onnistunee vissiin sitten css.llä.
Eli pitäisi vain saada se tunnistamaan, joka 25 tietue.
Jakojäännöksellä:
SELECT id FROM taulu WHERE MOD( id, 25 ) = 0
Jos taas kaikki tiedot näytetään mutta 25 tiedon välein tehdään jotain erityistä, sama jakojäännös pitääkin kirjoittaa PHP-koodiin.
$laskuri++; if ($laskuri % 25 == 0) { // väritys punaiseksi tms. }
Heippa taas!
Joo, parempi poimia laskurin avulla mitä näytetään ja minkä värisenä sillä tossa Select lauseessa MOD "sekoaa" mikäli välistä poistetaan tietue/ita...
neau33 kirjoitti:
Joo, parempi poimia laskurin avulla mitä näytetään ja minkä värisenä sillä tossa Select lauseessa MOD "sekoaa" mikäli välistä poistetaan tietue/ita...
Tämä ihan totta, enpä ajatellut loppuun asti :) Varmempi tapa on tuo Antin esimerkki.
Eli kun kaivan tietoa tiedokannata, esim
$row[1], eli id
ja sitten kun tulosta sitä tietoa, pukkaan siihen eteen
$row[1]++ if $row[1] { if ($row[1] % 25 == 0 ) { echo '<p class="punainen">', $[row1]; } else { echo '<p>', $[row1]; }
Tajusinkko nyt yhtään oikein. Ja muuten miten toi jakojäännös oikein tuossa hommassa sitten toimii. Voisko senkin selittää.. Meikäläisen matiikka aivot ei sitä oikein tajua. ( saa nauraa :D )
Tarvitset vielä erillisen muuttujan, joka toimii laskurina. Tätä muuttujaa täytyy kasvattaa yhdellä joka rivillä, ja aina kun jakojäännös on 0, tulostetaan punainen rivi. Laskurin arvo on aluksi vaikka 0, ja se ei ole mitenkään yhteydessä tietokannan tietoihin. Vasta sitten kun jotain tulostetaan, tieto haetaan tietokannasta.
Kun jaetaan peräkkäisiä lukuja luvulla n, jakojäännös on 0 n luvun välein. Tämä tarkoittaa samaa, kuin että tutkittava luku on jaollinen luvulla n. Esim. seuraavassa näkyvät lihavoituna ne luvut välillä 0 - 20, joiden jakojäännös on 0 luvulla 5 jaettuna (eli luvut, jotka ovat jaollisia 5:llä).
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
jep!! Nyt selkis tämäkin homma. Thank vaan taas sinne teille kaikille!!
Aihe on jo aika vanha, joten et voi enää vastata siihen.