Seintenanzahl generieren

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

  • Seintenanzahl generieren

    Hallo@all,

    ich habe mit folgendem Script ein Problem!

    PHP-Code:

    <?
    include "config.php";
    include "php_functions.php";

    $tstamp    = mktime(0, 0, 0, date("m"), date("d")-3, date("Y"));
    $datum = date("Y-m-d", $tstamp);
    $date = date("Y-m-d");


        ##### Seiten Maximal
        $max_seiten = 9;
        
        ##### Einträge pro Seite
        $eps = 4;

    $_con["table"] = "news";

    ##### Auslesen
    $abfrage = "SELECT * FROM $_con[table] ORDER BY DATUM DESC";
    $resID =  send_sql($dbname, $abfrage);

        $treffer = mysql_num_rows($resID);
        $seitenzahl = ceil($treffer/$eps);

        if (!isset($page) || $page == 0) {
            $page = 1;
        }

        if ($page > $seitenzahl) {
            $page = $seitenzahl;
        }

        $vor_max = $seitenzahl;

        $back = $page-1;
        $vor = $page+1;

        $ab_eintrag = (($page-1)*$eps);

        $for_ende = $page+($max_seiten-1)/2;
        $for_beginn = $page-($max_seiten-1)/2;
        if ($for_beginn > $seitenzahl-$max_seiten+1) {
            $for_beginn = $seitenzahl-$max_seiten+1;
        }
        if ($for_beginn < 1) {
            $for_beginn = 1;
        }
        if ($for_ende < $max_seiten && $seitenzahl < $max_seiten) 
    {
            $for_ende = $seitenzahl;
        } elseif ($for_ende < $max_seiten && $seitenzahl > $max_seiten) {
            $for_ende = $max_seiten;
        } elseif ($for_ende >= $seitenzahl) {
            $for_ende = $seitenzahl;
        }

    ##### Auslesen
    ##### sortieren nach titel abwährts ASC aufwährts DESC

    $abfrage .= " LIMIT $ab_eintrag, $eps";
    $resab = mysql_query($abfrage);
    while ($rowab = mysql_fetch_array($resab))
    {
    @$rowab[DATUM]=date_mysql2german($rowab[DATUM]);
    ?>
    <table width="95%" border="0" cellspacing="0" cellpadding="0"
    style="padding:5" class="ver11">
    <tr>
    <td><b><?echo $rowab['Titel'];?></b></td>
    <td width="30%"></td>
    </tr>
    <tr>
    <td><? echo $rowab['Text_kurz'];?></td>
    <td align="right" width="30%"></td>
    </tr>
    <tr>
    <td><? echo "geschrieben am $rowab[DATUM]";?></td>
    <td align="right" width="30%"><? echo "<a 
    href='news.php?id=$rowab[ID]' target='popup' 
    onclick=\"window.open(' ','popup','scrollbars=yes, width=600,
    height=600')\"class='tah11'>mehr lesen</a>  ";?></td>
    </tr>                                        
    </table>
    <hr width="95%">
    <br>
    <table width="95%" border="0" cellspacing="0" cellpadding="0" style="padding:5" class="ver11">
    <tr>
                                                        <td>
    <?                                   
    }
    echo "<a href=\"$_SERVER[PHP_SELF]?page=1&eps=$eps\" 
    class='tah11'><<</a>|<a 
    href=\"$_SERVER[PHP_SELF]?page=".$back."&eps=$eps\" 
    class='tah11'><</a></font>";

        if ($page > ($max_seiten-1)/2+1 && $seitenzahl > $max_seiten) {
            if ($page > $seitenzahl-(($max_seiten-1)/2)) {
                $vor_max = $seitenzahl-$max_seiten;
            } else {
                $vor_max = $page-(($max_seiten-1)/2+1);
            }
            echo "<font size='1' face='Verdana'>|<a 
    href=\"$_SERVER[PHP_SELF]?page=".$vor_max."&eps=$eps\" 
    class='tah11'>...</a></font>";
        }

        for ($i=$for_beginn;$i<=$for_ende;$i++) {
            if ($page == $i) {
                    echo "<font size='1' face='Verdana'>|<b>".$i."</b></font>";
            } else {
                    echo "<font size='1' face='Verdana'>|<a
    href=\"$_SERVER[PHP_SELF]?page=".$i."&eps=$eps\" 
    class='tah11'>".$i."</a></font>";
            }
        }
    if ($page < $seitenzahl-(($max_seiten-1)/2) && $seitenzahl > 
    $max_seiten) {
    if ($page < ($max_seiten-1)/2+1) {
    $weiter_max = $max_seiten+1;
    } else {
    $weiter_max = $page+(($max_seiten-1)/2+1);
    }
    echo "<font size='1' face='Verdana'>|<a 
    href=\"$_SERVER[PHP_SELF]?page=".$weiter_max."&eps=$eps\" class='tah11'>...</a></font>";
    }
    echo "<font size='1' face='Verdana'>|<a 
    href=\"$_SERVER[PHP_SELF]?page=".$vor."&eps=$eps\"
    class='tah11'>></a>|<a 
    href=\"$_SERVER[PHP_SELF]?page=".$vor_max."&eps=$eps\"
    class='tah11'>>></a></font>";


    ?></td>
    </tr>
    </table>

    Soweit funktioniert es, aber ich fülle vorher aus der Datenbank noch
    einige Felder zum auswählen für die weitere Suche in der
    Datenbank.
    Wenn ich mir meine Suchergebnisse anzeigen lasse und es mehr
    wie eine Seite ist,
    so ist die Abfrage auf den Seiten 2,3,..... leer, da
    die Variable für die Suche wieder leer ist.

    Hat jemand eine Idee oder vieleicht ein besseres Script für mich??

    Danke im voraus
    Steffen
    Zuletzt geändert von Steffen Baumann; 05.05.2006, 09:31.

  • #2
    Und ich habe zunächst mal ein problem dein posting wegen der überlänge überhaupt zu lesen. bitte code umbrechen, anpassen, etc...

    Kommentar


    • #3
      OffTopic:
      Hat jemand eine Idee oder vieleicht ein besseres Script für mich??


      ja, bin mit dem aus dem Codesniplet bereich absolut zufrieden. Such mal nach Blätterfunktion und beherze nächste mal bitte Tobi's Worte...

      Kommentar


      • #4
        Sorry, habe das erste mal einen php-code hier gepostet.

        Steffen

        Kommentar


        • #5
          so ist die Abfrage auf den Seiten 2,3,..... leer, da die Variable für die Suche wieder leer ist.
          Dann musst du die Werte wohl oder übel übergeben. In der URL oder in der Session bietet sich hier an. Ich würde es mittels GET in der Url machen.

          Kommentar

          Lädt...
          X