Tabellen trennen

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

  • Tabellen trennen

    Moin allerseits

    erstmal sorry für den titel aber wusste nich genau wie ich mein problem in kurzform beschreiben sollte. nun zu meinem Problem:

    Ich arbeite zur zeit an einer Lagerverwaltung für einen gemeinnützigen Verein der Container mit Hilfgütern nach Afrika schickt. Dafür müssen so genannte ToDo-Listen ausgedruckt werden. Nun hab ich das Problem das diese ToDo-Listen immer eine sehr lange Tabelle beinhaltet. Dies sieht dann aber beim direkten HTML-Ausdruck schrecklich aus, weil bei den seiteübergängen die Tabellen offen sind. Lässt sich das in etwa so realisieren:

    Für die erste seite des Ausdrucks habe ich bereits einen Kopf sowie eine Tabelle mit 19 Datensätzen. Danach soll ein absatz gemacht werden. Dann soll mit einer schleife je nach anzahl der Datensätze weitere Tabellen(seiten) mit 26 Datensätzen generiert werden.

    Leider lässt es meine datenbankstruktur nich zu direkt über die id zu gehen, da verschiedene container-nr. in einer Datenbank gespeichert werden. Hebe mir gedacht irgendwie die letzte id der select anfrage weiter zu geben und dann in der schleife ab da wieder nach datensätzen zu suchen.

    Hat einer eine idee wie ich das realisieren kann? Oder gibt es eine andere weise wie ich die Tabellen auf papier bekomme?
    Bin für jede Hilfe dankbar.

    MfG
    Novaspace

  • #2
    Hmm, also das mit der ID blick ich nicht. Was aber vielleicht hilfreich ist, ist der Seitenumbruch, den Du mit CSS erzwingen kannst:

    http://de.selfhtml.org/css/eigenscha...intlayouts.htm

    Kommentar


    • #3
      Seitenlayouts

      das mit den seitenlayouts hatte ich auch schonmal probiert aber hat irgendwie nicht gefunkt. Probiers aber gleich nochmal.

      Hatte gemeint ich könnte irgendwie automatisch tabellenblöcke erstellen die sich dann besser ausdrucken lassen. das ganze müsste aber auch dynamisch je nach anzahl der gesammten datensätze passieren. weis nich wie ichs besser erklären soll.
      aber danke schonmal

      Kommentar


      • #4
        Ach so. Das ist doch ganz simpel:

        PHP-Code:
        $zaehler 1;  // erste Zeile
        $datensaetze_pro_block 19;

        while (...)   
        // Die Datenbank-Ausleseschleife
         
        {
          
          if (
        $zaehler == $datensaetze_pro_block)  // Wenn wir am Ende eines Blocks angelangt sind....
            
        {  gebe_datensatz_normal_aus();
                
        schließe_tabelle_mache_seitenumbruch_und_neue_tabelle();
                
        $zaehler 0;

             }  
        // Ansonsten: Gib nur den Datensatz aus
           
        else
               
        gebe_datensatz_normal_aus();

          
        $zaehler++;  // Zähler zur nächsten Zeile hochsetzen

         

        Kommentar


        • #5
          ja soweit so gut nur:

          erstens sollen nur auf der ersten seite 19 datensätze angezeigt werden danach immer 26 und wie gebe ich an das er dann beim 19 datensatz erst wieder anfängt bzw später dann beim 45sten, 64sten...usw?

          habs grad nochmal mit
          PHP-Code:
          <style type="text/css"> @page size:landscape; } </style
          aber funkt nich...

          Kommentar


          • #6
            also habs jetzt so weit verstanden müsste nur noch wissen wie ich in meiner 2. mysql abfrage erst den 20. datensatz für den jeweiligen container ausgebe... wie gesagt geht nich über die id...

            Kommentar


            • #7
              müsste nur noch wissen wie ich in meiner 2. mysql abfrage erst den 20. datensatz für den jeweiligen container ausgebe..
              LIMIT ?

              Kommentar


              • #8
                wie kann ich mit Limit die ersten 19 datensätze weglassen?
                Hier mein Code bis jetzt:

                PHP-Code:
                if ($anz >19)
                {
                $res2 $connection->query ("SELECT * from con_daten WHERE con_no='$con_no'");
                while (
                $row mysql_fetch_row($res2))
                 { 
                    if (
                $zaehler == $block)
                      {
                        
                block();
                        
                block_end();
                        
                $zaehler 0;
                      }
                    else
                      {
                      
                block();
                      }
                    
                $zaehler++;
                }

                Kommentar


                • #9
                  rtfm

                  Kommentar


                  • #10
                    rtm (Ohne f, heute ist Sonntag! )

                    Kommentar


                    • #11
                      jo soweit hab ich das jetzt und die Tabellen erstellt er schonmal nach meinen wünschen... nur die daten gibt er nich in die tabelle ein...

                      hier mal mein kompletter code bis jetzt...

                      PHP-Code:
                      if ($anz >19)
                      {
                      $res2 $Connection->query ("SELECT * from con_daten WHERE con_no='$con_no' LIMIT 19,1000");
                      while (
                      $row mysql_fetch_row($res2))
                       { 
                          if (
                      $zaehler == $block)
                            {
                              
                      block();
                              
                      block_end();
                              
                      $zaehler 0;
                            }
                          else
                            {
                            
                      block();
                            }
                          
                      $zaehler++;
                      }
                      }

                      function 
                      block()
                      {
                      echo 
                      '<tr><td>'.$row[2].'.'.$row[3].'</td><td>'.$row[4].'</td><td>'.$row[7].'</td><td>'
                      if (
                      $row[8] == 1) { echo'<img src="images/ja.gif" width="20" height="20">'; } 
                      else { echo
                      '<img src="images/spacer.gif" width="1" height="1">';} echo '</td><td>'
                      if (
                      $row[9] == 1) { echo'<img src="images/ja.gif" width="20" height="20">'; } 
                      else { echo
                      '<img src="images/spacer.gif" width="1" height="1">';} echo '</td><td>'
                      if (
                      $row[10] == 1) { echo'<img src="images/ja.gif" width="20" height="20">'; } 
                      else { echo
                      '<img src="images/spacer.gif" width="1" height="1">';} 
                      echo 
                      '</td><td>'
                      if (
                      $row[11] == 1) { echo'<img src="images/ja.gif" width="20" height="20">'; } 
                      else { echo
                      '<img src="images/spacer.gif" width="1" height="1">';} echo '</td><td>'
                      if (
                      $row[12] == 1) { echo'<img src="images/ja.gif" width="20" height="20">'; } 
                      else { echo
                      '<img src="images/spacer.gif" width="1" height="1">';} echo '</td><td>'
                      if (
                      $row[13] == '') { echo'<img src="images/spacer.gif" width="20" height="20">'; } 
                      else { echo 
                      $row[13];} echo '</td></tr>'
                      }

                      function 
                      block_end()
                      {
                      echo 
                      '</table><table width="100%" border="1" cellspacing="0" bordercolor="#000000" bgcolor="#CCCCCC" class=decent>
                      <th width="9%">Artikel-Nr.</th><th width="40%">Artikel</th><th width="4%">Stk</th>
                      <th width="4%">Rei</th><th width="4%">Auf</th><th width="5%">Verp</th><th width="4%">Box</th>
                      <th width="3%">Pal</th><th width="15%">Maße</th>'
                      ;

                      ich weis iss bissl unübersichtig und unordentlich

                      Kommentar


                      • #12
                        ok hat sich erledigt ...
                        hatte ja vergessen das $row in die funktion zu übergeben
                        man merkt schon das heute sonntag iss

                        Kommentar

                        Lädt...
                        X