Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [TCPDF] primo record array, mancante

    Ciao Raga, urge solito aiutino

    Prima di postare ho cercato qualcosa in rete, ma nulla.
    Ho un problema con la classe TCPDF, magari a qualcuno è capitato lo stesso problema e mi saprà dare una mano.
    Ho trovato del codice all'interno del forum ufficiale Help TCPDF la generazione del pdf funziona, il problema è che non mi fa vedere il primo record dell'array, qualcuno riesce a darmi una mano ?

    includo il codice

    Codice PHP:
    require_once("../tcpdf.php");

    $pdf = & new TCPDF("P""mm""A3"true"UTF-8"false);
    $pdf->setPrintHeader(false);
    $pdf->setPrintFooter(false);
    $pdf->SetAutoPageBreak(false);

    $con mysql_connect('localhost','root',''); 
    if (!
    $con) {
    die(
    'Could not connect: ' mysql_error()); 

    mysql_select_db('tcpdf'$con); mysql_query("SET NAMES utf8");
    $result mysql_query("SELECT
                         ID,
                         FirstName,
                         LastName,
                         DOB 
                         FROM employee 
                         ORDER BY LastName ASC"
    $con);

    $pdf->SetMargins(152015);
    $pdf->AddPage();
    $pdf->SetFont('FreeSerif''B'16);
    $pdf->SetFillColor(171255205);
    $pdf->Cell(180$row_height'Employees'01'C'1);
    $pdf->Ln(5);

    $pdf->SetFont('FreeSerif''B'14);
    $pdf->SetFillColor(125483);
    $pdf->SetDrawColor(255,255,255);
    $pdf->Cell(9$row_height'ID'10'L'1);
    $pdf->Cell(73$row_height'First Name'10'L'1); 
    $pdf->Cell(73$row_height'Last Name'10'L'1);
    $pdf->Cell(25$row_height'DOB'11'L'1);

    $i 0;
    $id 0;
    $max 46;
    $row_height 5;

    while(
    $row mysql_fetch_array($result)) {
    $id++;
    $first $row['FirstName'];
    $last $row['LastName'];
    $dob $row['DOB'];

    if (
    $i $max) {
    $pdf->AddPage();
    $pdf->SetFont('FreeSerif''B'14);
    $pdf->SetFillColor(125483); 
    $pdf->Cell(9$row_height'ID'10'L'1);
    $pdf->Cell(73$row_height'First Name'10'L'1);
    $pdf->Cell(73$row_height'Last Name'10'L'1);
    $pdf->Cell(25$row_height'DOB'11'L'1);
    $i 0


    if (
    $id%== 0) {
    $pdf->SetFillColor(203255206);

    else {
    $pdf->SetFillColor(238255237);
    }

    $pdf->SetFont('FreeSerif'''10);

    $first_line $pdf->getNumLines($first73);
    $last_line $pdf->getNumLines($last73);

    $linecount max($first_line$last_line);

    $pdf->SetTextColor(30,30,100);
    $pdf->MultiCell(9$row_height*$linecount$id1'L'10);
    $pdf->SetTextColor(0,0,0); 
    $pdf->MultiCell(73$row_height*$linecount$first1'L'10); 
    $pdf->MultiCell(73$row_height*$linecount$last1'L'10);
    $pdf->MultiCell(25$row_height*$linecount$dob1'L'11);
    $i=$i+$linecount


    mysql_close($con);
    ob_end_clean(); 
    $pdf->Output('mypdf.pdf''D'); 

  2. #2
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Visto che l'array (cioè la query) è ordinata sul campo cognome, sei sicuro che la prima cioè l'indice 0 dell'array è popolato o semplicemente è vuoto?
    Hai provato un echo '<pre>';var_dump($row);echo'</pre>'; per vedere cosa risposta?

  3. #3
    se lancio lo stesso codice php (while e query ) mi valorizza ed itera correttamente l'array, quando lancio lo script che ho postato ( quindi con parametri della classe ) non mi visualizza il primo record, sinceramente mi sembra evidente che c'è qualcosa che non va nel codice che ho postato, ho letto di un overwriten se si'imposta una dimensione della prima linea del doc pdf minore della seconda e quindi viene sovrascritta, ma non sono riuscito a risolvere.

    Come se no bastasse, adesso mi sono accorto di un altro problema, quando i record dell'array superano un certo numero mi va in errore

    codice:
    TCPDF ERROR: Some data has already been output to browser, can't send PDF file




    mi aiutate ?




    .

  4. #4
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Controlla che non ci sia una echo.

  5. #5
    Ho risolto il problema del primo record mancante.
    In realtà il codice che mi dava il problema era una copia di quello che ho postato e che ho trovato in rete, dove commettevo un errore nell'iterare l'array, inoltre cambiando l'impostazione della chiamata al db adesso funge, vedo tutto il contenuto dell'array.

    Codice PHP:
    $sql "SELECT
    ID,
    FirstName,
    LastName,
    DOB 
    FROM employee 
    ORDER BY LastName ASC"
    ;        
    }
    $result mysql_query($sql) or die("Query fallita".mysql_error()." ".$sql); 

    Adesso però mi rimane il problema dell'errore TCPDF

    codice:
    TCPDF ERROR: Some data has already been output to browser, can't send PDF file

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.