Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP --> PDF --> newPage mittels SQL-Order by

Einklappen

Neue Werbung 2019

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

  • PHP --> PDF --> newPage mittels SQL-Order by

    Hi,

    ich verwende die folgende PHP/PDF Klasse:
    http://www.ros.co.nz/pdf/

    Funktioniert soweit auch alles recht gut.



    ToDo:
    ---
    SQL Abfrage derren Ergebniss mit jeder neuen Order By Kategorie eine
    neue Seite im PDF Dokument erstellt.

    Mir ist bis dato leider unklar wie ich das am besten realisieren kann

    hier mal ein beispiel des bisherigen Codes (ohne Pagewechsel)


    PHP-Code:
    <?php
    // meine DB cfg laden
    include 'inc/config.php';
    //
    //
    // die PDF PHP klasse laden
    include 'class.ezpdf.php';
    //
    // Papierformat
    $pdf =& new Cezpdf('a4');
    //
    // Font definieren
    $pdf->selectFont('./fonts/Helvetica');
    //          
    // Connect zur DB mittels den Daten der /inc/variablen.php die ueber 
    @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
    //
    // NEUES SQL Statement
    $query "     SELECT      KIS_artikel.artikel_inv_nummer            AS 'Inv-Nr.',
                            KIS_artikel.artikel_bezeichnung            AS Bezeichnung,
                            KIS_inventar_kategorie.inventar_kategorie_bezeichnung        AS Kategorie,
                        KIS_standort.standort_name                AS Standort
                                            
                   FROM              KIS_artikel,
                                   KIS_standort,
                                   KIS_inventar_kategorie
            
                   WHERE        
    KIS_artikel.KIS_standort_standort_id         =  KIS_standort.standort_id AND 
    KIS_artikel.KIS_inventar_kategorie_inventar_kategorie_id =     KIS_inventar_kategorie.inventar_kategorie_id AND 
     (
           KIS_status_status_id = '1' OR 
           KIS_status_status_id = '2' OR
           KIS_status_status_id = '3' 
    )
                                                           
    ORDER BY             KIS_standort.standort_name ASC     
                                               "
    ;


    //
    //
    //
    //init des arrays
    $data = array();
    //
    // Do Query
    $result mysql_query($query);
    //
    //ist der result identifier korrekt ?
    if (!$result
    {
          echo 
    mysql_error();
          exit;
    }
    //
    $i 0;
    while(
    $tmp mysql_fetch_array($result))
    {
        
    $data[$i]['Inv-Nr.']         = $tmp['Inv-Nr.'];
        
    $data[$i]['Bezeichnung'] = $tmp['Bezeichnung'];
        
    $data[$i]['Kategorie']        = $tmp['Kategorie'];
        
    $data[$i]['Standort']         = $tmp['Standort'];
        
    $i $i+1;
        
    //
        // Wir wollen für jede Kategorie eine neue Seite
        // Grundidee: php each
    }
    $tableoptions = array

        
    'width' => 500,            
        
    'shaded' => 0,                                // shaded:     0[Zeile 1 & Zeile 2 --> eiss]     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
        (
            
    'Inv-Nr.'            =>array('justification'=>'right','width'=>50), 
            
    'Bezeichnung'        =>array('justification'=>'left','width'=>200),
            
    'Kategorie'            =>array('justification'=>'left','width'=>150),
            
    'Standort'            =>array('justification'=>'right','width'=>100),              
        ),  
    ) ;
    //
    // 
    //make table
    //$pdf->ezTable($data);
    $pdf->ezTable($data,'','',$tableoptions );
    //
    //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();
    }
    ?>

    So, wie kann ich die Seitenwechsel idee umsetzten ?
    der PHP/PDF Code für neue Seiten ist scheinbar:
    ezNewPage

    Bietet sich evlt der PHp code each an ?



    gruss
    fidel_

  • #2
    hi,

    rauskram


    ist das wieder:
    - zu speziell (pdf classe),
    - zu einfach oder einfach nur
    - dumme frage,


    oder warum antwortet niemand ?



    gruss
    fidel

    Kommentar


    • #3
      Mir ist das zu speziell

      Kommentar


      • #4
        mir auch. In der PDFlib würde ich es evtl wissen

        Kommentar


        • #5


          wenn ich das jetzt im Advanced Forum frag
          kommt wieder der böse Eiermann und macht mich rund

          Wenn das kein Teufelskreis ist hehe.


          Gruss
          fidel_

          Kommentar


          • #6
            Die Antworter lesen doch eh alle Foren.
            Stell die Frage eher auf der Entwicklerseite aber les unbedingt vorher die Docs für die Klasse.

            Kommentar


            • #7
              already done.
              nur im sourceforge forum weiss wohl auch niemand ne rangehensweise.


              evlt auch mit mysql: limit ?

              Kommentar

              Lädt...
              X