Tällä kertaa koulu php-kurssin kanssa ongelmia. :)
- Tee skripti, jossa kahden sisäkkäisen silmukan avulla muodostat tyhjän HTML-taulukon.
Sain sen toimimaan seuraavalla koodilla:
<?php $i = 1; $j = 1; { print "<table border=1; width=700>"; while ($i <= 1) { print "<tr>"; while ($j <= 1) { print "<td></td>"; $j++; } print "</tr>"; $i++; } print "</table>"; } ?>
Mutta sitten tämä seuraava tehtävä:
- Muokkaa edellistä skriptiä niin, että annat selaimen autta parametrina taulukon rivien ja sarakkeiden lukumäärä. Tee myös niin, että parittomat rivit muodostuvat niin, että rivi on yhtä kokonaista solua colspan="annettu sarake".
Ensinnäkin kun muutan noiden 1:sten tilalle isommat luvut, kuitenkin niin että ylemmässä on pienempi (5) ja alemmassa isompi (8). En saa edes rivejä aikaiseksi. Eli se tuottaa vain yhden rivin, mutta ei enempää.
HTML koodi näyttäisi tältä:
<table border=1 width=700> <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> <tr></tr> <tr></tr> <tr></tr> <tr></tr> </table>
Eli solu ei tule noihin seuraaviin ollenkaan.
Kun nyt saisi koodin toimimaan ensin niin, että saisin solut joka riville niin olisi hyvä. Sitten voin itse miettiä tuota colspannia (ennen kuin tulen nöyränä apua pyytämään).
Kiitos etukäteen. :)
Ensinnäkin, sisennä koodisi. Se tekee koodiin eri tasoja, jotka helpottavat lukemista. Silloin se näyttää paljon selkeämmältä:
<?php $i = 1; $j = 1; { print "<table border=1; width=700>"; while ($i <= 1) { print "<tr>"; while ($j <= 1) { print "<td></td>"; $j++; } print "</tr>"; $i++; } print "</table>"; } ?>
Ensimmäinen ja viimeinen kaarisulkumerkki ovat täysin turhia.
Suosittelen jättämään while-silmukan tässä tapauksessa, ja siirtymään for-silmukan käyttöön. Nykyisellään vertailet muuttujia lukuun yksi, joten oikeita rivejä voi tulla vain se yksi kappale.
Eli tulostat forilla tähän tyyliin:
Aihe on jo aika vanha, joten et voi enää vastata siihen.