Avatar billede Mik2000 Professor
16. november 2011 - 23:32 Der er 9 kommentarer og
1 løsning

Udskrift af liste - skift af sider

Hej

Jeg har en masse data jeg henter fra en tabel. De tilhører alle en kategori.

Pt. er det sådan at jeg skriver kategorien ud i toppen af et dokument, og nedenunder kommer alt dataen. Det er sat op i tabeller.

Nu fylder denne data efterhånden 3-4 sider, og jeg kunne derfor godt tænke mig at der øverst på hver side står kategoriens navn.

Så er der en måde hvorpå jeg kan beregne eller finde ud af hvornår/hvor denne skal skrives eller skrive i sidehovede - uden at skulle lave pdf eller lign.
Avatar billede JensPeterSvensson Nybegynder
17. november 2011 - 09:13 #1
Noget i retning af:

<table>
<thead><tr><th>Numre</th></tr></thead>
<script>
for(var i = 0; i < 1000; i++){
document.write('<tr><td>'+i+'</td></tr>');
}
</script>
</table>

thead elementet er det vigtige. Resten er bare for at lave en masse rækker.
Avatar billede olebole Juniormester
17. november 2011 - 11:26 #2
<ole>

- og du kan også vælge at udskrive TH elementer for hver f.eks. 30. række:


<?php
$arr = array();
$inx = 0;
$res = [MYSQL_SELECT_QUERY]
while ($row=mysql_fetch_assoc($res)) {
    if ($inx%30==0) '<th>BlaBla</th>';
    else $arr[] = '<td>'.$row['noget'].'</td>';
    $inx++;   
}
?>
<table>
<thead>
    <tr><th>BlaBla</th></tr>
</thead>
<tbody>
    <tr>
    <?php echo implode('</tr><tr>', $arr) ?>
    </tr>
</tbody>
</table>


/mvh
</bole>
Avatar billede olebole Juniormester
17. november 2011 - 11:29 #3
- eller lidt pænere i en funktion:


<?php
function getRows() {
    $arr = array();
    $inx = 0;
    $res = [MYSQL_SELECT_QUERY]
    while ($row=mysql_fetch_assoc($res)) {
        if ($inx%30==0) '<th>BlaBla</th>';
        else $arr[] = '<td>'.$row['noget'].'</td>';
        $inx++;   
    }
    return implode('</tr><tr>', $arr);
}
?>
<table>
<thead>
    <tr><th>BlaBla</th></tr>
</thead>
<tbody>
    <tr>
    <?php echo getRows() ?>
    </tr>
</tbody>
</table>

Avatar billede JensPeterSvensson Nybegynder
17. november 2011 - 13:38 #4
<thead>, i firefox i det mindste, bliver gentaget i toppen af tabellen på hver side og dermed ingen grund til at udskrive den flere gange.
Avatar billede olebole Juniormester
17. november 2011 - 14:13 #5
Det tror jeg, du må forklare nærmere  =)
Avatar billede JensPeterSvensson Nybegynder
17. november 2011 - 15:35 #6
Hvis du har FF. Så tag den kode jeg skrev og udskriv den eller vis udskift.
Avatar billede olebole Juniormester
17. november 2011 - 21:59 #7
Nu var det vist en forklaring, jeg efterlyste  =)
Avatar billede Mik2000 Professor
18. november 2011 - 12:18 #8
Hej

Super det virker JensPeterSvensson - så point til dig.
Nogle kan fylde flere rækker mv. så derfor duer det med at tælle ikke :)

Det virker dog  ikke ved udskrift i Chrome men dem der skal bruge det bruger Internet Explorer, og der virker det vist også i.

Så smid et svar og så er der point :)
Avatar billede JensPeterSvensson Nybegynder
19. november 2011 - 10:37 #9
svar
Avatar billede Mik2000 Professor
19. november 2011 - 14:56 #10
Tak for hjælpen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester