Dati di una tabella su più pagine e con footer

renoir09

Utente Attivo
10 Ago 2009
72
0
0
Ciao a tutti!
Vorrei chiedere un consiglio alla community.
Stavo realizzando una sorta di report (su più pagine) che contiene una tabella con dei dati presi da un DB. La tebella è molto lunga (300 righe) quindi volevo sapere se è possibile fare in modo che per ogni pagina stampata ce ne fossero un tot (diciamo 28 righe per pagina poi la tabella continuerebbe su un altra pagina con altre 28 righe e cosi' via). Inoltre volevo che inserire un footer (che rimane sempre uguale) alla fine di ogni pagina.
Avevo provato a utilizzare Fpdf ma ho il problema che non riesco a combinare bene i diversi script con le mie esigenze (esempio banale, non riesco ad inserire una variabile $anno mutuata da un POST nel codice di uno script di default usato per le tabelle). Mi chiedevo quindi se esiste un metodo da seguire solo con PHP.
Grazie per l'aiuto.:o
 
Grazie...provo a spiegare meglio

Grazie innanzitutto per la risposta.
La discussione da te indicata l'avevo infatti aperta io (e non andava bene poichè le funzioni di stampa non funzionano su Linux, ambiente dove lavoro io)
Avevo trovato una buona soluzione per la stampa dei documenti con Fpdf ma per quello che mi serve ora non va più bene.
Cerco di essere più chiaro possibile:
Sto preparando un documento con una tabella molto lunga che necessariamente si estende su più pagine. Vorrei che la tabella non si spezzasse nelle linee (cioè che dopo la riga 28 a fondo pagina si chiuda e ricominci con la riga 29 nella pagina seguente senza che un pezzo della cella della riga 29 resti nella pagina precedente o che un pezzo della riga 28 invada la pagina successiva) ma quello che mi interessa di più è capire se posso inserire in ogni pagina dove si sviluppa la tabella un footer che è sempre uguale, cosi'

pagina 1
tabella
dato 1
dato 2
dato 3
...
dato 28

footer:relazione giugno

pagina 2
dato 29
dato 30
dato 31
...

footer: relazione giugno

e cosi' via

Grazie ancora...:fonzie:
 
Non avevo fatto caso ai nick presenti nella discussione :P
Ad ogni modo a questo punto ti consiglio di usare fpdf. Il risultato che otterresti sarebbe proprio quello che vuoi tu. La sequenza di istruzioni che devi usare è analoga alla struttura di pagina che vuoi ottenere:
Codice:
se il numero di record è > 0 
n=1
stampa l'header
per ogni record
     se n>28
          stampa il footer
          
          se i record non sono finiti
              nuova pagina
              stampa l'header
              n=1
          fine se
     fine se

     se i record non sono finiti
         stampa il record
         n=n+1
    fine se
fine ciclo

O qualcosa del genere (non l'ho controllato più di tanto ma è più per renderti l'idea). Se comunque dai un'occhiata agli script d'esempio ti basta vedere come si scrive una scritta, come si va a capo, come si stampa un'immagine (i tuoi header e footer) e come si cambia pagina.
 
Grazie ancora

Grazie...provero' ancora con Fpdf...
avevo già buttato giu' una bozza con quest'ultimo e la tabella veniva si (non benissimo ma in modo accettabile) solo che mi sono trovato di fronte ad una difficoltà insormontabile e cioè:

non riesco a far comparire nelle celle dello script di esempio per la tabella nè una variabile $index=1; $index++
e neppure una variabile $anno che viene definita da $anno = $_POST["txtAnno"] ; e che viene da un form in un'altra pagina...

riesco entrambe a farle funzionare all'interno di Cell
ma non all'interno di AddCol oppure Footer.
Purtroppo ho posto la questione nel forum di Fpdf e tutt'ora la mia rimane l'unica domanda senza risposta :crying:
per questo speravo ci fosse un altro modo alternativo a Fpdf...
 
Potrebbe essere anche un problema di coordinate o di colore del font.
Fa' una cosa. Al posto delle variabili $anno, $index, ecc. che vuoi stampare su pdf, metti dei valori numerici fissi. Se nella stampa non cambia niente è un problema di uso di fpdf (es. coordinate fuori dal foglio o scrivi bianco su bianco). Se nella stampa vengono fuori quei valori è un problema di php (es. ti sei dimenticato 'global $anno,$index;' nella function che effettua la stampa).
 
Non credo sia il font

Dubito sia un problema di font...
Se io richiamo dei valori attraverso una variabile all'interno di Cell, appare tutto senza problemi. Se provo a richiamare la stessa variabile all'interno del Footer o della Tabella dinamica presa da uno dei tanti script di aiuto che trovo sul sito Fpdf, non appare nulla. Ma se io all'interno della tabella faccio richiamare un valore del tipo:

query=SELECT FROM donatori.nome AS nominativo

ed inserisco il valore 'nominativo'
all'interno della colonna
$pdf->Addcol('nominativo'...)

allora si che lo fa vedere

non so se dipenda dal tipo di variabili che devo inserire (una variabile $index=1 che con $index++ mi da una progressione numerica ordinata ed una variabile $anno che arriva da POST)

comunque global $anno,$index; avevo già provato ad inserirlo

Davvero frustrante, e lo è di più perchè dal forum ufficiale non mi considerano...
Grazie ancora in ogni caso per la risposta
 
Ultima modifica:
Piccolo passo avanti

Per il footer ho risolto cosi'

$this->anno

e poi

$jaar = $_POST["txtAnno"] ;
$pdf->anno = $anno;

Resta il discorso che in AddCol non va nè questo nè index++
come se lo script limitasse quel campo solo a valori che vengono da una query Mysql
 
Strano...ho visto domande più sciocche delle mie (come devo fare per stampare una tabella...etc. a questo ero arrivato anche io;)...) tutte con una risposta...
boh sarà che mi son spiegato male in inglese...
comunque il concetto era appunto quello di sfruttare lo script AddCol che mi costruiva da solo delle colonne e delle celle nelle quali far apparire i miei dati...
provero' a chiedere se e come è possibile modificare lo script per accogliere anche delle variabili nelle celle...sempre se mi degnano di una risposta...
bye:fonzie:
 

Discussioni simili