Kişisel döngü iyi çalışıyor. PDF’nize sayfa eklemenin yolu muhtemelen yanlıştır. Görünüşe göre yeni bir tane eklemek yerine tekrar tekrar bir sayfanın üzerine yazıyorsunuz.
DÜZENLEME
ben DOMPDF hiç kullanmadım. Dokümanlara hızlı bir şekilde baktığımda, HTML biçimlendirmesi gibi bir şey oluşturduğunuzu düşünmeme izin verin. Olağandışı sözdizimi $var = <<<HTML \r\nHTML
merak ederse
Örnek kod
$html = <<<HTML
<html>
<head>
<style type="text/css">
/* Your document styling goes here */
</style>
</head>
<body>
HTML;
while ($row = $dbResult->fetch_assoc()) {
$html .= '<div class="teacherPage">'
. $row['name'] // your teacher document goes here
'</div>';
}
$html .= '</body></html>';
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample.pdf");
, bu heredoc bu. Çok fazla yabancı satır içi kodunuz olduğunda heredogları kullanmanız daha rahattır, bu {$varname}
değişkenlerine sahip olabilir ve alıntılar hakkında endişelenmenize gerek yoktur. Emin olmanız gereken tek şey, heredoc HTML
'un yeni bir satırda olması ve girintisiz olmasıdır.
kullandığınız kütüphane Hala çok emin değilim
EDIT2. Ben this extension'u oldukça iyi görüyorum ve bu sizin sorunuzda söylediğiniz gibi dompdf olarak adlandırılır.
Sizin son açıklama şimdiye kadar sorunu çözmek vermedi gösterir, bu yüzden hedefe almak için biraz daha bilgi eklenmesine karar verdi.
Yasal Uyarı: İşlevsel kod yazmak gitmiyorum ve ben bu test etmeyecektir, ancak aşağıdaki ipuçları eşyalarını halletmek için doğru yönde içine itecek.
dompdf, giriş belgenizin CSS2 ve CSS3 özelliklerini okuyabilmektedir.
while
döngü içinde her döngü yukarıdaki bunların her çıkış belgesinde bir kendi sayfasını almak çok odalı bir öğretmen temsil eder.
Ben sınıfa
teacherPage
bir div kabın içine sayfayı koydu. Bu kapsayıcıyı, öğretmen için gösterilmesini istediğiniz tüm bilgilerle doldurabilirsiniz.
Şimdi tüm yapmanız gereken, her teacherPage
yeni sayfası DOMPDF anlatmaktır. Bu benim sayfa stil gitmelidir orası, yukarıdaki örnek belgeye boş css kabı <style type="text/css"></style>
eklendi
shipped with CSS3@page
biçimlendirmesi kullanarak yapılabilir.
örnek CSS @page
ile
@page teacher {
size: A4 portrait;
margin: 2cm;
}
.teacherPage {
page: teacher;
page-break-after: always;
}
Eğer tam sayfa konteyner için geçerli özelliklere sahip bir adlandırılmış sayfa teacher
, tanımlayabilirsiniz. yapabilirsiniz,
page-break-after: always
:)
Veritabanı erişimi için mysql_ * işlevlerini kullanmamanızı tavsiye ederim. Onlar eski, kötü bir şekilde desteklenen ve tüm isimlerden istisna edildi (ve PHP 5.5'ten itibaren kullanımdan kaldırılacak). Bunun yerine mysqli veya PDO gibi daha modern bir sisteme geçmenizi öneririm. o çok boyutlu dizi veya döngü ile ancak uygun '$ dompdf' kullanımı ile bir sorun değildir gibi – GordonM
geliyor. –