Count problem Seitenblätter

Shooter2k

Erfahrenes Mitglied
Hallo Forum,

es geht um das zählen der DB Einträge innerhalb einer Seitenblätterfunktion.
Eintrag 30, Eintrag 29, Eintrag 28...

Da ja bei der sql abfrage ein LIMIT gesetzt ist (bei mir 2x pro seite) kann ich nicht einfach
$gesamteintrage--; schreiben . Da ja die schleife nur bis 2 geht also würde sie nur 2 mal runterzählen. Der einzige Anhaltspunkt, ist die ausgabe der Seitenblätterfunktion also die Seiten zB 1-10 , da ich 20 Einträge habe und 2 pro Seite ausgegeben werden.

Die PHP Seitenblätterfunktion habe ich übrigens aus diesem Forum.
Ich hoffe ich könnte mir mal wieder dabei helfen. Dazu zeige ich euch einen Codeauszug:

PHP:
		  $sql = "SELECT zeit,id FROM ds_gbuch WHERE kdnr_empf = '".$_SESSION['p_kdnr']."'";
		  $eintrage = mysql_num_rows(mysql_query($sql));
		 
		  $maxproseite = 2;
		  $i = 0;
		  $seiten = $eintrage / $maxproseite;
		  
		  
		   
		 
		  if (!isset($_GET['seite'])) { //normalabfrage, wenn keine Seite gegeben ist.
			$sql = "SELECT zeit,id FROM ds_gbuch WHERE kdnr_empf = '".$_SESSION['p_kdnr']."' order by id desc LIMIT 0,$maxproseite ";
			} else {
		  $page = $_GET['seite'];
	 	  $abeintrag = $page * $maxproseite - $maxproseite;
		  $sql = "SELECT zeit,id FROM ds_gbuch WHERE kdnr_empf = '".$_SESSION['p_kdnr']."' order by id desc LIMIT $abeintrag,$maxproseite";
		  }
		  $todo = mysql_query($sql);
		  $count = 0;
		  while($daten = mysql_fetch_array($todo)){
		  $idg = $daten[id];
		  $timestamp = $daten[zeit];
		  // ausgabe inhalt
		  
		  // ausgabe count ? Eintrag 12,11,10 
		  // eintrage--; ?
		  
		  }
		  
		  
		   for($i = 1; $i-1 < $seiten; $i++){ //Ausgabe der Seiten href's
		 			
			echo "<a href'?seite=$i'>$i</a>";

			 }

Was muss verändert werden, damit von den Gesamteinträgen runtergezäht wird? Seite 1 zB 15,14 Seite 2: 13,12 Seite 3 : 11,10 etc..

Danke für die Hilfe
gruß
Henry.
 
Hi, habe genau das selbe Realisiert.
Auf der ersten Seite ist die Variable zum runterzählen = $eintraege
z.B.
PHP:
$nummer = $eintrage

auf den Folgenden dann

PHP:
$nummer = $eintrage-($maxproseite*$page)

Dann musst du aber die Seitenzahl bei 0 beginnen

Gruß GalaxyWarrior
 
Danke für deine Antwort.
Nur funktioniert das bei mir immer noch nicht ich glabe es liegt an der Positionierung.

Habe es jetzt so gemacht :

PHP:
  $nummer = $eintrage;
		  if($_GET['seite']){
		  
		   $nummer = $eintrage-($maxproseite*$_GET['seite']);
		  
		  }
		   
		 
		  if (!isset($_GET['seite'])) { //normalabfrage, wenn keine Seite gegeben ist.
			$sql = "SELECT zeit,id FROM ds_gbuch WHERE kdnr_empf = '".$_SESSION['p_kdnr']."' order by id desc LIMIT 0,$maxproseite ";
			} else {
		  $page = $_GET['seite'];
	 	  $abeintrag = $page * $maxproseite - $maxproseite;
		  $sql = "SELECT zeit,id FROM ds_gbuch WHERE kdnr_empf = '".$_SESSION['p_kdnr']."' order by id desc LIMIT $abeintrag,$maxproseite";
		  }
		  $todo = mysql_query($sql);
		  $count = 0;
		   while($daten = mysql_fetch_array($todo)){
		   $idg = $daten[id];
		   $timestamp = $daten[zeit];

		  $nummer--;
 
Was genau geht nicht? Was wird angezeitg? Hast du die Seitenzählung bei 0 begonnen? Weil dann musst du natürlich machen
PHP:
if($_GET['seite'] != 0)
und dann
PHP:
}else{ $nummer = $maxproseite; }
 
Zurück