Hvorfor dog det? Hvilken forskel skulle det gøre?
$i er ikke en definition af hvor mange der udskrives før den skriver </tr><tr>, men en tæller til at holde styr på, hvor mange der reelt er udskrevet.
Sætter du $i = 3 vil du opleve, at du ikke får afsluttet den sidste række, med mindre det antal celler der udskrives altid er deleligt med 3.
- $i++;
-
- if ($i == count($result))
- echo "</tr>";
- else if ($i % 3 == 0)
- echo "</tr><tr>";
Ovenstående betyder:
Hvis den aktuelle celle er den sidste der skal skrives, skal der skrives </tr> for at afslutte rækken.
Hvis ikke, så hvis det antal der er udskrevet er deleligt med 3 ($i % 3 giver det der i rest ved division, derfor giver hvert 3. 0), så skal rækken afsluttes og der skal startes en ny.
Hvis du vil have en variabel med det antal celler der skal skrives før der startes en ny række, skal du gemme det i en ny, og erstattet 3-tallet med den variabel.