FPDF Ausgabe ohne ersten DB Eintrag ???

  • PHP

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von 3daycliff.

    FPDF Ausgabe ohne ersten DB Eintrag ???

    Ich habe da ein seltsames Problem. Ich poste mal den Quelltext dann kommt die Erklärung:

    PHP-Quellcode

    1. $pdf=new PDF();
    2. $pdf->AliasNbPages();
    3. $pdf->AddPage();
    4. $pdf->SetFont('Helvetica','',10);
    5. $pdf->SetFillColor(242, 242, 242);
    6. $abfrage1 = mysql_query("SELECT * FROM speise_kategorie ORDER BY rf ASC"); <- Hier werden die Speisen Kategorien ausgelesen !
    7. while($row1 = mysql_fetch_array($abfrage1)) {
    8. $pdf->Cell(10);
    9. $pdf->SetFont('Helvetica','',18);
    10. $pdf->Cell(180, 2, html_entity_decode($row1[name],ENT_COMPAT) , 0, 0, 'C');
    11. $abfrage2 = mysql_query("SELECT * FROM speise_speisen WHERE kategorie = '".$row1[id]."' ORDER BY rf ASC"); <- Sich ergebend aus obiger Kategorie werden hier alle Speisen die in dieser Kategorie sind ausgelesen
    12. while($row = mysql_fetch_array($abfrage2)) {
    13. $pdf->Cell(10);
    14. $pdf->SetFont('Helvetica','',10);
    15. $pdf->Cell(140, 4, html_entity_decode($row[rf]." ".$row['name'],ENT_COMPAT) , 0, 0, 'L');
    16. $pdf->Cell(40, 4, html_entity_decode($row['preis']. " €",ENT_COMPAT), 0, 1, 'R');
    17. if(isset($row[beschreibung])) { $pdf->Cell(10); $pdf->Cell(180, 7, html_entity_decode($row[beschreibung],ENT_COMPAT), 0, 1, 'L', $farbe); }
    18. $pdf->Ln(2);
    19. }
    20. }
    21. $pdf->Output();


    Nun geht das ja ganz gut nur fehlt mir immer in jeder Kategorie genau der 1. Eintrag...
    Nun ergeben sich 2 Fragen aus dieser Tatsache:
    1. Warum
    2. Was ist der Sinn des Lebens und kann es genau das sein ??? :)
    Der Sinn des Lebens ist es auf jeden Fall nicht, eine deprecated API zu benutzen, die in PHP7 entfernt wurde. (Siehe mysqli oder PDO). Und auch nicht, gefühlt Tausend Warnungen zu unterdrücken. (Füge mal error_reporting(-1); ini_set('display_errors', 1); am Anfang ein.)

    Ohne mir deinen "Quelltext" genauer angeschaut zu haben, würde ich blind darauf tippen, dass du den ersten Eintrag in jeder Kategorie mit dem zweiten überschreibst. Schau dir noch mal deine Ln- und Cell-Aufrufe genau an, an irgendeiner Stelle wird eine neue Zeile zu wenig gemacht.

    PS: Eine SQL-Abfrage finde ich persönlich chicer:

    SQL-Abfrage

    1. SELECT k.name As kategorie_name, s.*
    2. FROM speise_kategorie k INNER JOIN speise_speisen s ON k.id = s.kategorie
    3. ORDER BY k.rf, k.name, s.rf