Wiem, oklepany temat, ale jest coś czego jeszcze nie było na tym formu, a mianow
icie Generowanie PDF-ów z szablonu. Dlaczego z szablonu, bo serwer yoyo.pl niechce obsłużyc mi zadnej
klasy do tworzenia PDF-ów:( A z szablonu ładnie tworzy:) Oto kod:
<?php
set_time_limit( 180
); // ten skrypt mo¿e byæ bardzo wolny
// utworzenie krótkich nazw zmiennych
$nazwisko = $_POST['nazwisko'];
$wynik = $_POST['wynik'];
function pdf_replace( $wzor, $zamiana, $lancuch )
{
$wyrreg = '';
for ( $i = 0; $i<$dlug; $i++ )
{
$wyrreg .= $wzor[$i];
if ($i<$dlug-1)
$wyrreg .= '()-?[0-9]+()?';
}
}
if(!$nazwisko||!$wynik)
{
echo '<h1>B³¹d:</h1><p>Ta strona zosta³a wywo³ana nieprawid³owo</p>'; }
else
{
// generowanie nag³ówków, które pomog¹
// przegl¹darce w wyborze odpowiedniej aplikacji
header( 'Content-Disposition: filename=cert.pdf'); header( 'Content-type: application/pdf' );
$data = date( 'F d, Y' );
// otwarcie pliku szablonu
$nazwa_pliku = 'CertyfikatPHP.pdf';
// zamiana symboli zastêpczych w szablonie na dane
$wyswietl = pdf_replace
( '<<NAZWISKO>>', strtoupper( $nazwisko ), $wyswietl ); $wyswietl = pdf_replace( '<<Nazwisko>>', $nazwisko, $wyswietl );
$wyswietl = pdf_replace( '<<wynik>>', $wynik, $wyswietl );
$wyswietl = pdf_replace( '<<mm/dd/rrrr>>', $data, $wyswietl );
// wys³anie wygenerowanego dokumentu do przegl¹darki
}
?>
Czy istnieje możliwośc generowania Tabel z bazy MySQL do takeigo szblonu?? Mam coś takiego dla FPDF (ktora nie działa na yoyo):
<?php
?php
define('FPDF_FONTPATH','font/'); require_once('funkcje_wszystkie.php5');
require('fpdf.php');
//Connect to your database
lacz_moje();
lacz_bd();
$result=mysql_query("SELECT IDWyd, NazwaArtykulu, NazwaOdbiorcy, IloscSztuk, DataWydania FROM AR
TYKULYUSERA");
//Initialize the 3 columns and the total
$column_IDWyd = "";
$column_NazwaArtykulu = "";
$column_NazwaOdbiorcy = "";
$column_IloscSztuk = "";
$column_DataWydania = "";
//For each row, add the field to the corresponding column
{
$IDWyd = $row["IDWyd"];
$NazwaArtykulu = $row["NazwaArtykulu"];
$real_NazwaOdbiorcy = $row["NazwaOdbiorcy"];
$real_IloscSztuk = $row["IloscSztuk"];
$real_DataWydania = $row["DataWydania"];
$column_IDWydania = $column_IDWydania.$IDWydania."n";
$column_NazwaArtykulu = $column_NazwaArtykulu.$NazwaArtykulu."n";
$column_NazwaOdbiorcy = $column_NazwaOdbiorcy.$NazwaOdbiorcy."n";
$column_IloscSztuk = $column_IloscSztuk.$IloscSztuk."n";
$column_DataWydania = $column_DataWydania.$DataWydania."n";
}
//Create a new PDF file
$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
//Fields Name position
$Y_Fields_Name_position = 20;
//Table position, under Fields Name
$Y_Table_Position = 26;
//First create each Field Name
//Gray color filling each Field Name box
$pdf->SetFillColor(232,232,232);
//Bold Font for Field Name
$pdf->SetFont('Arial','B',12);
$pdf->SetY($Y_Fields_Name_position);
$pdf->SetX(45);
$pdf->Cell(20,6,'IDWyd',1,0,'L',1);
$pdf->SetX(65);
$pdf->Cell(100,6,'NazwaArtykulu',1,0,'L',1);
$pdf->SetX(65);
$pdf->Cell(100,6,'NazwaOdbiorcy',1,0,'L',1);
$pdf->SetX(65);
$pdf->Cell(100,6,'IloscSztuk',1,0,'L',1);
$pdf->SetX(135);
$pdf->Cell(30,6,'DataWydania',1,0,'R',1);
$pdf->Ln();
//Now show the 3 columns
$pdf->SetFont('Arial','',12);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(45);
$pdf->MultiCell(20,6,$column_IDWyd,1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(65);
$pdf->MultiCell(100,6,$column_NazwaArtykulu,1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(135);
$pdf->MultiCell(30,6,$columna_NazwaOdbiorcy,1);
$pdf->SetX(135);
$pdf->MultiCell(30,6,'$ '.$IloscSztuk,1);
$pdf->SetX(135);
$pdf->MultiCell(30,6,'$ '.$DataWydania,1);
//Create lines (boxes) for each ROW (Product)
//If you don't use the following code, you don't create the lines separating each row
$i = 0;
$pdf->SetY($Y_Table_Position);
while ($i < $number_of_products)
{
$pdf->SetX(45);
$pdf->MultiCell(120,6,'',1);
$i = $i +1;
}
$pdf->Output();
?>
Uruchamiając ten kod na yoyo, wyskakuje taki komunikat: FPDF error: Some data has already been output, can't send PDF file. Może z tym kodem jest coś źle?? Jeśli naprawde yoyo, nie obsługuje tego FPDF to poprosze coś o odpowiedź o Szblonach:)
Moje konkretne pytanie brzmi: jak wygenerowac tabelke z mysqlql-a do takiego szablonu, zeby rysowal linie i żeby to ładnie wygladało.
P.S.
Wiem ze tego tutaj sie nie praktykuje, ale ma moze ktos jakis skrypcik jak zrobic konkretnie takiego pdf-a, bo nie moge nic znaleź o wyswietlaniu tabelek z mysql-a:)
Z góry dzieki i pozdrawiam
Ten post edytował palixmp 26.10.2006, 20:02:39