Automatisch nieuwe lijn aan de hand van inhoud tabel
Stel ik heb een tabel met 5 kolommen.
Elke keer de inhoud wijzigd van de cel in kolom 1 moet ik een extra nieuwe lijn hebben.
Kan dit?
Hier een voorbeeld met 2 kolommen
Het moet met zuiver html en inline css gebeuren.
Het resultaat komt uit een rapport welke uitsluitend met tekst werkt en javascript is niet altijd geactiveerd.
Jan.
Gewijzigd op 20/08/2013 10:31:02 door Jan R
Wat je bedoelt met de foutieve zin: "Elke keer de inhoud wijzigd van kolom 1 moet ik een extra nieue lijn hebben." is mij geheel onduidelijk.
Code (php)
Defineer dan wel voor je while() even $controlevariable, anders krijg je eenmalig een notice dat die variabele niet bestaat.
Eddy E op 20/08/2013 10:09:19:
Inderdaad, of doe dat in de while() als je niet zeker weet wat de eerste waarde zal worden.Defineer dan wel voor je while() even $controlevariable, anders krijg je eenmalig een notice dat die variabele niet bestaat.
Ik gebruik het zelf ook op www.zunflappie.nl om die tussenheaders (met die rondjes) te maken.
In jouw geval (door Ward snap ik nu wat je bedoeld):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$vorige = false;
while(...)
{
// hier al je dingen om $kolom1 etc te maken
$kolom1 = intval($row['kolom_dinges']);
echo ' <tr>
<td>'.$kolom1.'</td>
<td>'.$kolom2.'</td>
<td>'.$kolom3.'</td>
<td>'.$kolom4.'</td>
<td>'.$kolom5.'</td>
</tr>';
if($vorige != $kolom1)
{
echo ' <tr>
<td colspan="5"></td>
</tr>
}
} // einde while-loop
?>
$vorige = false;
while(...)
{
// hier al je dingen om $kolom1 etc te maken
$kolom1 = intval($row['kolom_dinges']);
echo ' <tr>
<td>'.$kolom1.'</td>
<td>'.$kolom2.'</td>
<td>'.$kolom3.'</td>
<td>'.$kolom4.'</td>
<td>'.$kolom5.'</td>
</tr>';
if($vorige != $kolom1)
{
echo ' <tr>
<td colspan="5"></td>
</tr>
}
} // einde while-loop
?>
Let op dat dit voorbeeldcode is en niet zomaar erin geplakt kan worden.
Eddy E op 20/08/2013 09:32:55:
Wel elke keer als ik een andere waarde heb in de eerste cel van de eerste kolom, de andere kolommen doen er niet toe, wil ik een extra lege lijn, een <br> als het ware.
in jouw code is de eerste lijn een andere opmaak.
Ward van der Put op 20/08/2013 09:45:15:
Sla de laatst getoonde waarde op in een controlevariabele. Toon daarna een extra regel als de huidige waarde afwijkt van de controlevariabele en stel de controlevariabele in op de nieuwe waarde.
Code (php)
Quote:
Het resultaat komt uit een rapport welke uitsluitend met tekst werkt
Dus geen php sorry
Toch al allemaal bedankt om mee te denken.
Gewijzigd op 20/08/2013 10:35:29 door Jan R