mal wieder ein Problem:
--
Der untenstehende code generiert ein PDf.
funktioniert soweit auch alles, bis ich auf die Idee kam den Preis zu formatieren.
Ihr seht im Code noch die alte Variante (old Style) die 1a ging
und
der neue Versuch.
Problem hierbei:
--
Der Tabellenheader wird nicht mehr richtig benannt.
D.h. ich habe irgendwie & wo ein Fehler mit meinem Array. und somit wird der Tabelheader im Array Stile benannt.
Sprich, die Tabelle sieht so aus.
----
Header: 0 1 <--FALSCH
Content: myData myData <-- Richtig
Mir ist Klar das der Fehler an dem Array liegen muss, aber wie & wo ist mir wiederrum nicht klar.
jmd ne idee ?
Ich bastel an dem Ding schon seit Tagen rum, werd aber nicht schlau draus
Danke
Gruss
fidel_
PHP-Code:
<?php
// DB cfg
include 'inc/config.php';
//
error_reporting(E_ALL);
// PDF PHP classe
include './pdf_php_0_09/class.ezpdf.php';
//
$pdf =& new Cezpdf('a4');
// Font
$pdf->selectFont('./pdf_php_0_09/fonts/Helvetica');
// Connect DB
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_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;
}
//
// NEW -STYLE- WRECKED
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,',','.'));
}
// OLD WORKING STYLE !!!!!!!!!!!!!!
// problem here: float-value is bad formated
//while($data[] = mysql_fetch_array($result, MYSQL_ASSOC)) {}
$tableoptions = array
(
'width' => 500,
'shaded' => 2,
'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();
}
?>
Einen Kommentar schreiben: