Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP --> PDF Table-header formatierungsproblem (dirty :))

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP --> PDF Table-header formatierungsproblem (dirty :))

    Hi,

    ok, die PDF Erstellung geht 1 a,
    leider ist aber seit der letzten erweiterung ( Stichword: number_format im Source)
    folgendes Problem aufgetreten.

    Mein Tabellenheader ist nicht mehr mit dne MySQL AS-Argumenten beschriftet sondern mit dne Zahlen 0-6 (Array ?)
    Ich finde den Bock aktuell einfach nicht, weiss aber das es nur ein kleines problem sein kann.


    naja, vielleicht hat jmd von euch ja Lust und ein besseres Auge

    PHP-Code:
    <?php    
    include 'inc/config.php';
    error_reporting(E_ALL);
    include 
    './pdf_php_0_09/class.ezpdf.php';

    $pdf =& new Cezpdf('a4');
    // Font definieren
    $pdf->selectFont('./pdf_php_0_09/fonts/Helvetica');    

     @
    mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
     
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
       
    //
        // errechne das Vorjahr
        
    $query                    "SELECT EXTRACT(YEAR FROM CURDATE())-1";
        
    $result                     mysql_query($query);
        
    $row                        mysql_fetch_array($result);
        
    //
        
    $query "         
    SELECT            KIS_kostenstelle.kostenstelle_id        AS 'KST-Nr.',
    KIS_kostenstelle.kostenstelle_bezeichnung        AS 'KST-Name',
    KIS_artikel.artikel_datev_nummer                AS 'Datev-Nr.',
    KIS_artikel.artikel_inv_nummer                    AS 'Inv-Nr.',
    KIS_artikel.artikel_bezeichnung                AS 'Bezeichnung',
    date_format(KIS_artikel.artikel_kaufdatum, '%d.%m.%Y')    AS 'Rech.-datum',
    REPLACE(KIS_artikel.artikel_einkaufspreis,'.',',')            AS 'EK-Preis'
                                                
    FROM          KIS_artikel,
                   KIS_kostenstelle
                                               
                                               
    WHERE            artikel_kaufdatum LIKE '"
    .$row[0]."%'    AND
                       KIS_kostenstelle_kostenstelle_id = kostenstelle_id
                                           
                                               
    ORDER BY     KIS_kostenstelle_kostenstelle_id ASC,
                       artikel_kaufdatum ASC     
                                               "
    ;
        
       
    //init des arrays
       
    $data = array();
       
    // Do Query
       
    $result mysql_query($query);
       
    //ist der result identifier korrekt ?
       
    if (!$result
       {
           echo 
    mysql_error();
           exit;
        }
       
    //
       
        // wir muessen die float sachen formatieren, was mittels mysql nicht ging.
        
         
    while($tmp mysql_fetch_assoc($result)) 
       { 
           
    $data[] = array($tmp['KST-Nr.'] ,$tmp['KST-Name'],$tmp['Datev-Nr.'],$tmp['Inv-Nr.'],$tmp['Bezeichnung'],$tmp['Rech.-datum'],number_format($tmp['EK-Preis'],2,',','.')); 
       }
       
       while(
    $data[] = mysql_fetch_array($resultMYSQL_ASSOC)) {}
         
         
    $tableoptions = array
         ( 
            
    'width' => 500,
            
    'shaded' => 2,                            // shaded:     0-->Zeile 1 & Zeile 2 --> weiss  1-->Zeile 1 = weiss     Zeile 2= grau     2-->Zeile 1= grauA        Zeile 2= grauB
            
    'showHeadings' => 1,                    // zeig Überschriften der spalten    
            
    'showLines'=>2,                          // Mach Linien
            
    'lineCol' => array(0.0,0.0,0.0),    // Linienfarbe, hier schwarz  
            
    'xPos'=> 50,  
            
    'xOrientation'=>'right',  
            
    'fontSize' => 10,                      // schriftgroesse
            
    'titleFontSize' => 12,                // schriftgroesse überschrift 
            
    'splitRows' => 0,  
            
    'protectRows'=>2,  
            
    'innerLineThickness' => 0.5
            
    'outerLineThickness' => 0.5,   
            
    'rowGap' => 1,  
            
    'colGap' => 5,  
            
    'cols' => array
            (
                
    'KST-Nr.'            =>array('justification'=>'left','width'=>50),
                
    'KST-Name'            =>array('justification'=>'left','width'=>100),
                
    'Datev-Nr'            =>array('justification'=>'left','width'=>50),
                
    'Inv-Nr.'            =>array('justification'=>'left','width'=>50), 
                
    'Bezeichnung'        =>array('justification'=>'left','width'=>100),
                
    'Rech.-datum'        =>array('justification'=>'right','width'=>100),
                
    'EK-Preis'            =>array('justification'=>'right','width'=>50),
            ),      
        ) ; 
        
    //
        //
         
    $pdf->ezTable($data,'','',$tableoptions );     
         
    // make table
         // $pdf->ezTable($data);
         //
         // do output
         
    if (isset($d) && $d)
         {
             
    $pdfcode $pdf->output(1);
             
    $pdfcode str_replace("\n","\n
    "
    htmlspecialchars($pdfcode));
             echo 
    '<html><body>';
             echo 
    trim($pdfcode);
             echo 
    '</body></html>';
         }
         else
         {
             
    $pdf->stream();
         }
    ?>

    für mich wirkt es, als ob Anstatt der MySQL-AS Argumente eben die Array Nummierurung benutzt wird.

    Hoffe ihr koennt mir weiterhelfen.


    gruss
    fidel_

  • #2
    sprich, ich vermute hier den fehler:

    PHP-Code:
     while($tmp mysql_fetch_assoc($result)) 
       { 
          
    $data[] = array($tmp['KST-Nr.'] ,$tmp['KST-Name'],$tmp['Datev-Nr.'],$tmp['Inv-Nr.'],$tmp['Bezeichnung'],$tmp['Rech.-datum'],number_format($tmp['EK-Preis'],2,',','.')); 
       }
       
       while(
    $data[] = mysql_fetch_array($resultMYSQL_ASSOC)) {}
        
        
    $tableoptions = array
        ( 
          
    'width' => 500,
          
    'shaded' => 2,                     // shaded:    0-->Zeile 1 & Zeile 2 --> weiss  1-->Zeile 1 = weiss    Zeile 2= grau    2-->Zeile 1= grauA      Zeile 2= grauB
          
    'showHeadings' => 1,               // zeig Überschriften der spalten    
          
    'showLines'=>2,                    // Mach Linien
          
    'lineCol' => array(0.0,0.0,0.0),   // Linienfarbe, hier schwarz  
          
    'xPos'=> 50,  
          
    'xOrientation'=>'right',  
          
    'fontSize' => 10,                 // schriftgroesse
          
    'titleFontSize' => 12,            // schriftgroesse überschrift 
          
    'splitRows' => 0,  
          
    'protectRows'=>2,  
          
    'innerLineThickness' => 0.5
          
    'outerLineThickness' => 0.5,   
          
    'rowGap' => 1,  
          
    'colGap' => 5,  
          
    'cols' => array
          (
             
    'KST-Nr.'         =>array('justification'=>'left','width'=>50),
             
    'KST-Name'         =>array('justification'=>'left','width'=>100),
             
    'Datev-Nr'         =>array('justification'=>'left','width'=>50),
             
    'Inv-Nr.'         =>array('justification'=>'left','width'=>50), 
             
    'Bezeichnung'      =>array('justification'=>'left','width'=>100),
             
    'Rech.-datum'      =>array('justification'=>'right','width'=>100),
             
    'EK-Preis'         =>array('justification'=>'right','width'=>50),
          ),     
       ) ; 

    Kommentar

    Lädt...
    X