Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Rivien tulostus kolmen ryhmässä

mika_jussi [26.05.2005 11:00:28]

#

Tulostan mysql -kannasta rivejä sivulle, rivit tulostuvat vierekkäin sivulle.

Nyt ongelma on se, että rivit pitäisi jakaa kolmen ryhmiin, jotka tulostuvat allekkain.

Koitin seuraavaa tapaa, mutta logiikka siinä mättää:

if ($num > 3) {
echo "<table><tr><td>";
}

...

if ($num > 3) {
echo "</td></tr></table>";
}

Nyt siis kaikki rivit tulostuvat yksittäisinä allekkain, mikäli rivien määrä ylittää kolmen. Miten saan tuohon vielä lisättyä sen, että tulostus tapahtuu kolmen sarjoina?

Lebe80 [26.05.2005 11:04:56]

#

teet tuon aina kun luku on jaollinen kolmella.
Huomaa, että tässä esimerkissä $num lähtee arvolla 0 liikkeelle.

if ($num%3 == 0) {
  echo "<table><tr><td>";
}

....

if ($num%3 == 2) {
  echo "</td></tr></table>";
}

kutakuinkin näin.
edit:
huomaa, että table jää auki, mikäli sinulla ei ole tietty määrä (kolmella jaollista määrää) tulostettavia rivejä.

mika_jussi [26.05.2005 11:14:55]

#

Kiitti vastauksesta -

jostain syystä tuo tekee suurin piirtein saman kuin se minun alkuperäinen kyhäys, eli kun rivejä on alle kolme (=2), ne tulostuvat vierekkäin, mutta kun lisään kolmannen, niin kaikki tulostuvat allekkain erikseen.

Voiko olla, että minulla on tuo pätkä väärässä kohtaa koodia?

Mazuli [26.05.2005 12:28:10]

#

rakenna kaksi sisäkkäistä silmukkaa tyyliin

for($i = 0; $i < 5; $i++)
{
  echo "<tr>";
  for($i2 = 0; $i < 5; $i2++)
  {
    $numero = $i * 5 + $i2;
    echo "<td>$tiedot[$numero]</td>";
  }
  echo "</tr>";
}

mika_jussi [26.05.2005 12:52:15]

#

Mazuli, kokeilin tuota,

mutta sivu jää jumittamaan, kelaa, kelaa ja kelaa, eikä aukea.

T.M. [26.05.2005 13:05:48]

#

Tuossa toisessa for-silmukassa on varmaankin virhe? Tämä taitaa olla oikea malli:

for($i = 0; $i < 5; $i++)
{
  echo "<tr>";
  for($i2 = 0; $i2 < 5; $i2++)
  {
    $numero = $i * 5 + $i2;
    echo "<td>$tiedot[$numero]</td>";
  }
  echo "</tr>";
}

Mazuli [26.05.2005 18:59:40]

#

juu kakkonenhan sieltä unohtui xD

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta