Datenausgabe & Next/Prev.-Funktion

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

  • Datenausgabe & Next/Prev.-Funktion

    Hallo zu meinem erstenPosting in diesem Forum,

    ich habe ein kleines Problem mit einem Script, das ich einsetze, um Daten aus einer MySql Database auszugeben.

    Ich moechte
    1. die Ausgabe der Datensaetze auf 20 pro Seite begrenzen, und
    2. eine Next-, & Previous-Funktion einfuehren, um die fogenden bzw vorherigen jeweils 20 Datensaetze anzuzeigen.

    Dazu habe ich mein urspruengliches Script abgeaendert und seitdem klappt's nicht mehr. Ich moechte Euch deshalb bitten, Euch das Script einmal anzusehen und mir zu sagen, woran es liegen koennte.

    Hier also mein Script ( die Slashes kennzeichnen die neuen Script-Teile, die Fehler enthalten):

    -----------------------------------------

    // Neu eingefügter Text zur Begrenzung der Datensatz-Ausgabe auf 20 und zum
    // Einfügen einer NEXT-, Previous-Funktion.


    // $entries_per_page=20; // Datensätze pro Seite
    // $j=0; // Zähler

    // if (!isset($entry)) {
    // $entry = 0;
    // }

    // $next_page = $entry+$entries_per_page;
    // $prev_page = $entry-$entries_per_page;

    $sql = "select * from db_tabelle where ...";

    $sql2 = "select count(*) from db_tabelle where ...";

    $count=mysql_query($sql2);

    list($counter)=mysql_fetch_row($count);
    if($counter!=0){
    echo "SUCHERGEBNIS: $counter Datensätze:";
    }else{ echo "Keine Datensätze";
    die("</body></html>");
    }

    if($result=mysql_query($sql))
    {
    echo"<table>\n";

    while(list(...)=mysql_fetch_row($result)){
    $size="$dest/$id$filetype";
    $size=getimagesize($size);
    echo"<tr><td>...</td></tr>\n";
    }
    echo"</table>";
    mysql_free_result($result);
    }
    else
    {echo mysql_error();}

    // $sql3=select * from db_tabelle";

    // while($all=mysql_fetch_array($result)) {
    // $j++;
    // }
    // $total=$j;

    // if ($prev_page >= 0) {
    // echo "<a href=\"index.php?entry=$prev_page\">PREVIOUS/a>";
    // }
    // if ($next_page < $total) {
    // echo " &nbsp;&nbsp;<a href=\"index.php?entry=$next_page\">NEXT</a>";
    // }

    ?>
    </body>
    </html>
    ---------------------------------------------------

    Gruesse
    Nico


  • #2
    versuchs mal mit dieser Funktion :
    http://www.php-resource.de/inc/counthit.php?LKID=228

    berni

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Next-/ Previous Funktion

      Hi Berni,

      herzlichen Dank fuer Deinen Hinweis auf den Loesungsvorschlag.
      Werde es ausprobieren und melde mich dann zurueck.

      Beste Gruesse
      Nico

      Kommentar


      • #4
        Es klappt noch nicht ...

        Hallo Berni und alle anderen,

        wie versprochen, melde ich mich zurück, nachdem ich alles moegliche versucht habe, die beiden folgenden Scripte miteinander zu kombinieren:

        1. Mein Ausgangsscript (teilweise..):
        ----------------------

        $sql = "select * from db_tabelle where ...";

        $sql2 = "select count(*) from db_tabelle where ...";

        $count=mysql_query($sql2);

        list($counter)=mysql_fetch_row($count);
        if($counter!=0){
        echo "SUCHERGEBNIS: $counter Datensätze:";
        }else{ echo "Keine Datensätze";
        die("</body></html>");
        }

        if($result=mysql_query($sql))
        {
        echo"<table>\n";

        while(list(...)=mysql_fetch_row($result)){
        $size="$dest/$id$filetype";
        $size=getimagesize($size);
        echo"<tr><td>...</td></tr>\n";
        }
        echo"</table>";
        mysql_free_result($result);
        }
        else
        {echo mysql_error();}
        -----------------------------

        2. Das Script, das ich einfuegen moechte, um die Datenausgabe zu begrenzen:
        ------------------------------
        */
        $Select="select count(*) from itnews where newsAktiv ='1'";

        $MaxRow=10;
        if (!isset($CR))
        {
        $result = mysql_query($Select) or die ("Datenbankfehler1! versuchen Sie es erneut");
        $row=mysql_fetch_row($result);
        $CR=$row[0];
        $RL=0;
        }

        $AnzahlSeiten=intval($CR/$MaxRow);
        if ($AnzahlSeiten < ($CR/$MaxRow))
        {
        $AnzahlSeiten++;
        }


        $text="<BR>Seite :";
        // check for Prevbutton
        if ($RL > 0)
        {
        $y=$RL-$MaxRow;
        $Button.= "<a href=\"news.php3?CR=$CR&RL=$y\">-</a> ";
        }


        for ($i = 1; $i <= $AnzahlSeiten; $i++)
        { $y=($i*$MaxRow)-$MaxRow;
        if ($y==$RL){$Button.="<B>";}

        $Button.="[<a href=\"news.php3?CR=$CR&RL=$y\">$i</a>] ";
        if ($y==$RL){$Button.= "</B>";}
        }

        // check for Nextbutton
        if ($RL < ($CR-$MaxRow)) {
        $y=$RL+$MaxRow;
        $Button.="<a href=\"news.php3?CR=$CR&RL=$y\">+</a> ";
        }
        --------------------------------

        In meinem Ausgangsscript (s. o. 1.) mache ich bereits 2 Select-Abfragen. Die eine ($sql2, um die Anzahl der Datensaetze festzustellen und diese Anzahl auszugeben. Die andere ($sql), um alle Datensaetze in einer Table auszugeben.
        Jetzt kann ich doch nicht hingehen und eine Dritte Select-Abfrage zu machen (siehe Script 2.), um die Ausgabe der Datensaetze begrenzen...?
        Irgendwie drehe ich mich im Kreis...oder stehe auf dem Schlauch!
        Wisst Ihr weiter?

        Gruesse
        Nico

        Kommentar

        Lädt...
        X