Ankündigung

Einklappen
Keine Ankündigung bisher.

Array Ausgabe Paging einführen

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array Ausgabe Paging einführen

    Hallo,

    ich habe eine Problem.

    In meiner Weboberfläche wird eine Abfrage in ein Array geschrieben und dann als lange Tabelle ausgegeben.

    Ich würde nun gerne ein Paging nach 15 Ergebnissen einfügen. Leider weiß ich nicht wie das geht. Mittlerweile versuchte ich per TOP (MSSQL) Befehl zu arbeiten, aber hier werden nur die 15 "obersten" ausgegeben, aber nicht von 1 bis 15.

    Wie kann ich einen Start und Ende Wert in TOP einfügen? (Die Werte stehen in 2 Variablen).

    Herzlichen Dank

    mfg

    ThEspion

  • #2
    MSSQL kennt leider kein LIMIT <start>, <count>

    Du kannst es leider nur nachbasteln (Bsp.), aber es ist alles andere als schön:
    http://codesnippets.joyent.com/posts/show/1225

    Kommentar


    • #3
      LIMIT gibt es in MSSQL nicht, aber zumindest das Thema ist weit verbreitet, einfach mal googlen. Und ansonsten sehe ich dein Problem nicht, "PHP paging" oder "PHP pagination" - Tutorials dazu gibt es doch wie Sand am Meer. Und als Ansatz kannst du deine Schleife nehmen, Zeilen mitzählen, bei $Seitenzahl * $DatensätzeProSeite einsteigen und dann nach $DatensätzeProSeite die Schleife benden.

      Kommentar


      • #4
        Hallo, ich hab jetzt was gebaut, leider krieg ich jetzt immer folgenden Fehler:

        Notice: Undefined index: Page in \\****\pagingtest.php on line 15
        Notice: Undefined index: Page in \\****\pagingtest.php on line 16

        Die Zeilen 15 und 16 sind: $Page = $_GET["Page"];
        if(!$_GET["Page"])


        Könnt ihr mir hier bitte weiterhelfen?

        Anbei der code

        PHP-Code:

        <html>
        <head>
        <title>PAGING TEST</title>
        </head>
        <body>
        <?php 

        include('phpfiles/servlogin.php');


            
        $strSQL "SELECT bla bla bla";
            
        $objQuery sqlsrv_query($conn$strSQL) or die ("Error Query [".$strSQL."]");
            
        $Num_Rows sqlsrv_num_rows($objQuery);
            
        $Per_Page 20;   // Per Page
            
        $Page $_GET["Page"];
            if(!
        $_GET["Page"])
            {
                
        $Page=1;
            }

            
        $Prev_Page $Page-1;
            
        $Next_Page $Page+1;
            
        $Page_Start = (($Per_Page*$Page)-$Per_Page);
            if(
        $Num_Rows<=$Per_Page)
            {
                
        $Num_Pages =1;
            }
            else if((
        $Num_Rows $Per_Page)==0)
            {
                
        $Num_Pages =($Num_Rows/$Per_Page) ;
            }
            else
            {
                
        $Num_Pages =($Num_Rows/$Per_Page)+1;
                
        $Num_Pages = (int)$Num_Pages;
            }
            
        $Page_End $Per_Page $Page;
            if(
        $Page_End $Num_Rows)
            {    
                
        $Page_End $Num_Rows;
            }

            
        ?>
            <table width="600" border="1">
              <tr>
                <th width="91"> Wert2 </th>
                <th width="98"> Wert3</th>
                <th width="198"> Wert4</th>
                <th width="97"> Wert5</th>
                <th width="59"> Wert6</th>
                <th width="71"> Wert7</th>
              </tr>
            <?php
            
        for($i=$Page_Start;$i<$Page_End;$i++)
            {
            
        ?>
            <tr>
                <td>
                    <div align="center">
                    <?php sqlsrv_get_field($objQuery,$i,"Wert2");?>
                    </div>
                </td>
                <td>
                <?php sqlsrv_get_field($objQuery,$i,"Wert3");?>
                </td>
                <td>
                <?php sqlsrv_get_field($objQuery,$i,"Wert4");?>
                </td>
                <td>
                    <div align="center">
                    <?php sqlsrv_get_field($objQuery,$i,"Wert5");?>
                    </div>
                </td>
                <td align="right">
                <?php sqlsrv_get_field($objQuery,$i,"Wert6");?></td>
                <td align="right">
                <?php sqlsrv_get_field($objQuery,$i,"Wert7");?></td>
           </tr>
        <?php
        }
        ?>
            </table>
            <br>
            Total <?php $Num_Rows;?> Record : <?php $Num_Pages;?> Page :
            <?php
            
        if($Prev_Page)
            {
            echo 
        " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> ";
            }

            for(
        $i=1$i<=$Num_Pages$i++){
                if(
        $i != $Page)
                {
                    echo 
        "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]";
                }
                else
                {
                    echo 
        "<b> $i </b>";
                }
            }
            if(
        $Page!=$Num_Pages)
            {
                echo 
        " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a> ";
            }
            
        sqlsrv_close($conn);
            
        ?>
        </body>
        </html>

        Kommentar


        • #5
          Ja nu... Soll heißen, daß der Index Page in $_GET nicht existiert!
          Groß-/Kleinschreibung evtl. ?

          Ansonsten mal am Anfang des Scriptes:
          PHP-Code:
          var_dump$_GET ); 

          Kommentar


          • #6
            ich bin ein Laie, was das angeht...

            bitte nochmal verständlich für mich erklären!


            Jetzt kommt diese Fehlermeldung

            array(0) { } Notice: Undefined index: Page in \\****\pagingtest.php on line 15 Notice:
            Undefined index: Page in \\*****\pagingtest.php on line 16

            Herzlichen DANK!

            Kommentar


            • #7
              Zitat von TheSpion
              ch bin ein Laie, was das angeht...

              bitte nochmal verständlich für mich erklären!
              Auch ein Laie sollte in der Lage sein das zu verstehen!

              Also -> Verständnis-Tutorial:
              Code-Stelle: $_GET['Page']

              Meldung: Undefined Index: Page [...]
              Übersetzung: Undefinierter/Unbekannter Index: Page [...]

              Erklärung: Der Index Page exisitiert in $_GET nicht, soll heißen, daß der URL-Parameter Page nicht vorhanden ist!

              Debugging: Ausgabe von $_GET über die Funktion var_dump oder wahlweise auch print_r, um zu prüfen, was an Parametern per $_GET überhaupt ankommt.

              Vermutung: Page ist nicht beinhaltet bzw. ist evtl. nur falsch geschrieben!
              Sorry, einfacher kann ich das grad nicht erklären!

              Kommentar


              • #8
                Dumme Frage:

                Das heißt das die Datei (Page) nicht existiert oder wie soll ich das verstehen?

                Ich habe keine Datei Namens Page angelegt, die Schreibweise ist überall richtig!

                mfg

                Kommentar


                • #9
                  Sei mir nicht böse, aber ich komme mir grad verarscht vor!
                  1. Suchergebnis bei Google: Fehlermeldung: notice: undefined index

                  Bitte etwas mehr Eigeninitiative...

                  Kommentar


                  • #10
                    Passt schon! Danke, werd ich dann schon hinbringen irgendwie!

                    Kommentar


                    • #11
                      Hallo,

                      also ich bring es nicht hin und jetzt bitte keine klugen Sprüche, sondern sachlich bitte erklären, was falsch ist....

                      PHP-Code:
                      <html>
                      <head>
                      <title>PAGING TEST</title>
                      </head>
                      <body>
                      <?php 

                      include('phpfiles/servlogin.php');


                          
                      $strSQL "----------------------";
                          
                      $objQuery sqlsrv_query($conn$strSQL) or die ("Error Query [".$strSQL."]");
                          
                      $Num_Rows sqlsrv_num_rows($objQuery);
                          
                      $Per_Page 20;   // Per Page
                          
                      $Page $_GET["Page"];
                          if(!
                      $_GET["Page"])
                          {
                              
                      $Page=1;
                          }

                          
                      $Prev_Page $Page-1;
                          
                      $Next_Page $Page+1;
                          
                      $Page_Start = (($Per_Page*$Page)-$Per_Page);
                          if(
                      $Num_Rows<=$Per_Page)
                          {
                              
                      $Num_Pages =1;
                          }
                          else if((
                      $Num_Rows $Per_Page)==0)
                          {
                              
                      $Num_Pages =($Num_Rows/$Per_Page) ;
                          }
                          else
                          {
                              
                      $Num_Pages =($Num_Rows/$Per_Page)+1;
                              
                      $Num_Pages = (int)$Num_Pages;
                          }
                          
                      $Page_End $Per_Page $Page;
                          if(
                      $Page_End $Num_Rows)
                          {    
                              
                      $Page_End $Num_Rows;
                          }

                          
                      ?>
                          <table width="600" border="1">
                            <tr>
                              <th width="91"> <div align="center">Wert1 </div></th>
                              <th width="98"> Wert2</th>
                              <th width="198"> Wert3</th>
                              <th width="97"> Wert4</th>
                              <th width="59"> Wert5</th>
                              <th width="71"> Wert6</th>
                            </tr>
                          <?php
                          
                      for($i=$Page_Start;$i<$Page_End;$i++)
                          {
                          
                      ?>
                          <tr>
                              <td>
                                  <?php mssql_result($objQuery,$i,"Wert1");?>
                              </td>
                              <td>
                                  <?php mssql_result($objQuery,$i,"Wert2");?>
                              </td>
                              <td>
                                  <?php mssql_result($objQuery,$i,"Wert3");?>
                              </td>
                              <td>
                                  <?php mssql_result($objQuery,$i,"Wert4");?>
                              </td>
                              <td>
                                  <?php mssql_result($objQuery,$i,"Wert5");?>
                              </td>
                              <td>
                              <?php mssql_result($objQuery,$i,"Wert6");?>
                              </td>
                         </tr>
                      <?php
                      }
                      ?>
                          </table>
                          <br>
                          Total <?php $Num_Rows;?> Record : <?php $Num_Pages;?> Page :
                          <?php
                          
                      if($Prev_Page)
                          {
                          echo 
                      " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> ";
                          }

                          for(
                      $i=1$i<=$Num_Pages$i++){
                              if(
                      $i != $Page)
                              {
                                  echo 
                      "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]";
                              }
                              else
                              {
                                  echo 
                      "<b> $i </b>";
                              }
                          }
                          if(
                      $Page!=$Num_Pages)
                          {
                              echo 
                      " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a> ";
                          }
                          
                      sqlsrv_close($conn);
                          
                      ?>
                      </body>
                      </html>
                      Es erscheint keine Fehlermeldung oder sonstiges, nur ne kleine notice und keine Ausgabe!

                      BITTE UM HILFE! Ich arbeite jetzt seit 10 Stunden daran und es geht einfach nicht!

                      Kommentar


                      • #12
                        Bevor es sachlich weitergeht, teste bitte zunächst mal den Hinweis aus #6:
                        Zitat von Arne Drews
                        Ansonsten mal am Anfang des Scriptes:
                        PHP-Code:
                        var_dump$_GET ); 
                        ...und das Ergebnis posten!

                        Kommentar


                        • #13
                          Ergebnis:

                          array(0) { }

                          Kommentar


                          • #14
                            Ja, und dann wundert Dich, daß er $_GET['Page'] nicht findet
                            Es wird nicht übergeben!!!

                            Kommentar


                            • #15
                              und welche Lösung gibt es um das in die Wege zu leiten?

                              Kommentar

                              Lädt...
                              X