Zählerstand bei behalten.

Crazy_down

Erfahrenes Mitglied
Hu Hu, da es ein neues Problem ist und ich schonmal Freundlich darauf hingewiesen wurde nicht mehrere Sachen in einem Thread zu behandeln, mache ich halt einen neuen auf :).

Mit dem folgenden Skript lasse ich mir Datensätze aus der Datenbank auslesen und genau 20 davon anzeigen. Wenn es mehr als 20 sind wird eine neue Seite dafür gemacht.Funktioniert auch alles schon soweit nur ein kleinen Fehler habe ich noch.
Ganz unten bei der Ausgabe wird die Platzierung mit ausgegeben welche bei 20 Datensätzen 1 - 20 beträgt. Wenn es nun mehr als 20 Datensätze sind und ich auf Seite 2 gehe, geht der Zähler wieder neu los. Dieser soll aber weiter zählen also auf Seite 1 hat er die Werte 1-20 und ab Seite 2 dann die Werte 21 - ...

Verständich ?

Wie kann ich den Zähler mit seinem alten Wert übergeben das er weiter zählt ?
PHP:
<?
mysql_connect('localhost','','') or die("Es konnte nicht zur Datenbank connectet werden")  ;
mysql_select_db("") or die ("Datenbank konnte nicht Initialisiert werden.");

$sql = "SELECT COUNT(*) as Anzahl FROM Ameise";
                
function doQuery($sql)
    {
        $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        return $result;
    }
    $result = doQuery($sql);
    $anzahl = mysql_result($result, 0);

    if (!$anzahl) {
        echo "<p class=\"content\">\n".
                 "Es befinden sich keine Eintr&auml;ge in der Datenbank\n".
                 "</p>\n";
    }
    
    else {
        $start = isset($_GET['page_number'])?(int)$_GET['page_number']:1;
            $num_pages = ceil($anzahl/20);
            if ($start < 1)
                $start = 1;
            if ($start > $num_pages)
                   $start = $num_pages;
        $offset = ($start-1)*20;

            echo "<table class=\"smallbold tcontent\" cellpadding=\"0\">\n";
            echo " <tr>\n";
            echo "  <td style=\"width:50px; text-align:left; vertical-align:top;\">\n";
            echo "Seite: \n";
            echo "  </td>\n";
            echo "  <td style=\"text-align:left\">\n";
                 for($i=1; $i<=$num_pages; $i++) {
                if ($i==$start)
                        echo $i."\n";
                    else
                        echo "<a href=\"index.php?zeige=Ant_Score&page_number=".$i."\" style=\"text-decoration:underline;\">".$i."</a>\n";
            }
            echo "  </td>\n";
            echo " </tr>\n";
            echo "</table>\n";

                 $sql = "SELECT
                                 *
                         FROM
                             Ameise
                         ORDER BY
                             anzahl DESC
                         LIMIT
                             ".$offset.", 20
                        ";
        $result = doQuery($sql);
            }
            echo "<table><tr>";

            $platzierung=1;

    while($row = mysql_fetch_assoc($result)){
    echo "<td><b>".$platzierung."</b></td>";
    echo "<td width='140'><font size='2' color='#9F9F9F'>Nick : <font color='black'>".htmlentities($row['nick'], ENT_QUOTES);
    echo "<br>";
    echo "<font size='2' color='#8F8F8F'>Ameisen: <font color='black'>".htmlentities($row['anzahl'], ENT_QUOTES);
//    echo "<br>&nbsp;<br>";
    echo "<br><font size='2' color='#8F8F8F'>Datum: <font color='black'>".htmlentities($row['datum'],ENT_QUOTES);
         echo "<hr>";
         if($zaehler%5=='true')
         {
         echo "<tr></tr>";
         }
        $platzierung++;
         $zaehler++;

}
echo "</tr></table>";
?>
+

greetz
crazy_down
 
Das ist doch nichts anderes wie eine Blätterfunktion.

Übergibt doch einfach die Seite mit die Ausgewählt ist und dann kannst du den Startpunkt berechnen, ab wann er deine Ausgabe Starten soll.
 
Du meinst an diser Stelle ?

PHP:
echo "<a href=\"index.php?zeige=Ant_Score&page_number=".$i."\" style=\"text-decoration:underline;\">".$i."</a>\n";

Oder habe ich das falsch verstanden. Sozusagen wenn seite 1 dann fange bei 0 an, wenn seite 2 bei 20+1 usw.

Edit: Ich muss nochma nachfragen,da ich es noch nciht gelöst habe ^^
 
Zuletzt bearbeitet:
Du meinst an diser Stelle ?

PHP:
echo "<a href=\"index.php?zeige=Ant_Score&page_number=".$i."\" style=\"text-decoration:underline;\">".$i."</a>\n";

Oder habe ich das falsch verstanden. Sozusagen wenn seite 1 dann fange bei 0 an, wenn seite 2 bei 20+1 usw.

Edit: Ich muss nochma nachfragen,da ich es noch nciht gelöst habe ^^

Ja, genau an der Stelle. Dort gibst du dann einfach dein $offset bzw $offset+10 noch mit aus.
 
Zurück