php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.12.2004, 18:17  
Gast
 
Beiträge: n/a
Standard blätterfunktion-limit-letzte seite

HI,
ich habe mir grade eine kleine blätterfunktion gebaut und die funktioniert auch recht gut nur leider habe ich folgendes problem wenn ich die letzte seite aufrufe wird die seite auch voll gemacht.
also als bsp.: auf jede seite kommen 20 datensätze und auf der letzten würden aber nur 7 kommen, leider macht der bei mir dann noch immer 20 datensätze er nimmt einfch dann die 1 ersten 13 einträge beginnt also wieder von vorne bis die seite voll ist...

ok hier mein code
Code:
$perpage=21;
$fromData = ($pagenum-1)*$perpage+1;
$tillData = $pagenum * $perpage;
//damit lese ich alle einträge aus und die anzahl der einträge, wenn ich dann später mir slq_hits ausgeben lasse dann schreibt er mir die genau zahl hin die stimmt...
$sql = "SELECT galerie.*,user.uname FROM galerie,user WHERE galerie.user_id=user.uid LIMIT ".($fromData-1).",".$perpage;
$sql_hits = "SELECT count(*) as hits FROM galerie";
//die while schleife
$i=0;
while ($zeile = mysql_fetch_row($result)){
echo $i++;
echo $zeile[1]\n";
}
leider durchläuft er die while schleife immer genau 21 mal auch auf der letzten seite...

hat wer ne ahnung warum das so ist ??
falls ihr mehr code sehen müsst dann werde ich das file wo uppen

hoffe ihr könnts mir helfen
mfg,
destroy90210
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.12.2004, 21:41  
Gast
 
Beiträge: n/a
Standard

Hi,

wo kommt den $result her? Wo sendest du den Query? Da wird wohl der Fehler liegen...

mfg koelle
 
Alt 20.12.2004, 23:56  
Gast
 
Beiträge: n/a
Standard

ok ich habe es grade selber geschaft
hier mal der code wäre super wenn mal wer nen blick drüber werfen könnte und evntl. paar verbesserungsvorschläge machen könnte...
hier habe ich es mal zum anschaun

http://gregor.slosh-slosh.com/galerie/index.php
aber vorischt unter NS macht der css code noch ziemlich viele probs daher nur mal mit IE schaun wenns geht

Code:
////////////////////////////////////////////////////////////////////////////
//////blätterfunktion für die thumbnailgalerie und ausgabe der Thumbs//////
/////////////////////////////////////////////////////////////////////////
//falls die seitenummer nicht vorhanden, 0 oder leeer ist wird sie auf 1 gesetzt
//ich kann nicht einfach pagenum einfach auf 1 setzten ohne abfrage, weil sonst würde sie bei jedem aufrufen der seite immer 1 sein
if(!isset($pagenum) or $pagenum == 0 or empty($pagenum)){
	$pagenum = 1;
}
///zählt die einträge in der Datenbank entweder alle oder einen bestimmen user
if($search_user_id != ""){
	$sql_hits = "SELECT count(*) as hits FROM galerie WHERE user_id= '$search_user_id'";
}
  else
{
	$sql_hits = "SELECT count(*) as hits FROM galerie";
}
$result_hits=doSQL($sql_hits);
//speichert die anzahl der einträge in der Datenbank in hits
$hits = mysql_result($result_hits,0);
//nur eine Seite
$perpage = 21;
if($hits<$perpage){
  $page = 1;
}
///anzahl der datensätze auf einer seite
//die maximale seitenanzahl
if($hits>$perpage){
  $page = ceil($hits/$perpage);
}
//gibt an "von bis" was auf der Seite angezeigt wird
$fromData = ($pagenum-1)*$perpage+1;
$tillData = $pagenum * $perpage;
//rechnet die einträge für die letzte Seite aus wenn die aktuelel seitennummer gleich der gesamtzahl ist
if($pagenum == $page || $page<=1){
	$lastpagefull=$page*$perpage;
	$perpage=$perpage-($lastpagefull-$hits);
  $tillData=$hits;
}
echo "$hits Einträge gesamt -";
echo "$perpage Einträge auf der Seite ";
echo "- von Nummer $fromData bis $tillData ";
if($action==""){
///abfrage nach allen fotografen oder einem bestimmten
	if($search_user_id != ""){
    $search=true;
  	$sql = "SELECT galerie.*,user.uname FROM galerie,user WHERE galerie.user_id = '$search_user_id' LIMIT ".($fromData-1).",".$perpage;
  }
  else
  {
  // holt aus 2 tabellen gleichzeitig datensätze heraus das where gibt an wo die 2 tabellen miteinader verknüpft werden sollen
    $search=false;
    $sql = "SELECT galerie.*,user.uname FROM galerie,user WHERE galerie.user_id=user.uid  LIMIT ".($fromData-1).",".$perpage;
  }
$result=doSQL($sql);
while ($zeile = mysql_fetch_row($result)){
 	echo "<div class=\"box3\"><a href=\"index.php?action=viewpic&pic=$zeile[1].jpg&clicks=$zeile[3]&user_id=$zeile[4]&gid=$zeile[0]&pagenum=$pagenum&fotograf=$zeile[5]&search=$search\"><img class=\"thumb\" src=\"bilder/thumbs/thumb_$zeile[1].jpg\"></a><p class=\"thumbtext\">Fotograf: $zeile[5]
Name: $zeile[1]
Clicks:$zeile[3]</p></div>\n";
}
//rechnet aus ob es noch seiten davor oder danach gibt und verlinkt dann jeweils den weiter bzw. zurück link nicht oder schon
if($pagenum > 1){
 	$left_arrow = "<a href=\"index.php?pagenum=".($pagenum-1)."\"> « </a>";
	$firstpage = "<a href=\"index.php?pagenum=1\"> «« </a>";
  if($search){
  	$right_arrow = "<a href=\"index.php?pagenum=".($pagenum-1)."&search_user_id=$search_user_id\"> » </a>";
  }
}
	else
{
	$left_arrow = "«";
	$firstpage = "««";
}
if($pagenum < $page){
	$right_arrow = "<a href=\"index.php?pagenum=".($pagenum+1)."\"> » </a>";
 	$lastpage = "<a href=\"index.php?pagenum=$page\"> »» </a>";
  if($search){
  	$right_arrow = "<a href=\"index.php?pagenum=".($pagenum+1)."&search_user_id=$search_user_id\"> » </a>";
    $lastpage = "<a href=\"index.php?pagenum=$page\"> »» </a>";
  }
}
	else
{
	$right_arrow = "»";
	$lastpage = "»»";
}
echo "</div>";
echo "<div class=\"box4\">";
//ausgabe des blättermenüs durch weiter und zurück links, sowie der ganzen seiten als zahlen
echo "

".$firstpage."   ".$left_arrow;
for($a=1;$a<=$page;$a++){
	if($a==$pagenum){
		echo " $a ";
	}
	else
	{
    if($search){
    	echo "<a href=\"index.php?pagenum=$a&search_user_id=$search_user_id\">$a</a>";
    }
    	else
    {
    	echo "<a href=\"index.php?pagenum=$a\"> $a </a>";
    }
	}
}
echo $right_arrow."   ".$lastpage."</p>";
echo "</div>";
}
//////////////////////////////////////////
/////////// VIEW PIC bereich ////////////
////////////////////////////////////////
	if($action=="viewpic"){
  	$clicks ++;
   	$sql = "UPDATE galerie SET gclicks='$clicks' WHERE gid='$gid'";
   	doSQL ($sql);
  	echo"<img class=\"thumb\" src=\"bilder/photos/$pic\"></img>";
    echo"<a href=\"index.php?todo=&action=&search_user_id=$user_id\">Alle Fotos von $fotograf anzeigen.</a>
";
    if($search){
    	echo"<a href=\"index.php?pagenum=$pagenum&search_user_id=$user_id\">zurück</a>

";
    }
    	else
    {
    	echo"<a href=\"index.php?pagenum=$pagenum\">zurück</a>

";
    }
	}
}
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CURL in Seite einloggen und einen Teil parsen Matt PHP Tipps 2008 8 03.09.2009 22:30
Krieg kein Objekt zurück auf includeter Seite NONNNNN PHP Tipps 2008 5 28.03.2008 19:25
Eintrag in DB und Wechsel zu anderer Seite Darson PHP Tipps 2008 25 14.01.2008 16:46
SUMA-Optimierung Google Frage zu Multi-Language Seite DonTermi Trash 13 21.06.2007 16:22
Seite nicht mehr gültig Igäl PHP Tipps 2006 3 25.05.2006 16:08
[Erledigt] Wetten automatisch von anderer Seite beziehen PHP Tipps 2006 11 03.03.2006 09:09
Formular - Daten für nächste Seite behalten NetLook PHP Tipps 2007 7 18.11.2005 13:21
Frame schließen und blätterfunktion-limit-letzte seite workaholic HTML, Usability und Barrierefreiheit 2 06.09.2005 13:36
Mit post an weitere Seite oder 2 Seiten übergeben? PHP Tipps 2005 1 02.02.2005 12:16
Neue Seite an einer bestimmten Stelle aufrufen PHP Tipps 2005 3 13.01.2005 10:09
php+Seite kann nicht angeziegt werden, Seite existiert aber Server, Hosting und Workstations 2 09.09.2004 08:21
Eine 2te Seite auto matisch in neuem Fenster laden PHP Tipps 2004 4 25.08.2004 14:10
[Erledigt] Tabelle auf einer Seite auslesen und in meiner Seite wiederg PHP Tipps 2004 2 14.07.2004 08:46
"NEWS-SCRIPT" in eine Seite einbinden: Aber wie ? PHP Tipps 2004 2 03.07.2004 16:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql blätterfunktion, php letzte seite, php vorherige seite, blätterfunktion sql, letzte seite php, blätterfunktion, goggle blättert immer eine seite zürück, php ausgabe limitieren und auf nächster seite anzeigen, nächste seite php limit, php letzte seite aufrufen, php vorherige seite aufrufen, limit 1 php, php pager letzte seite anzeigen, php vorherige seite anzeigen, php blätterfunktion sql, letzte seite anzeigen php, php blätterfunktion limit, http://www.php.de/php-tipps-2004-2/14484-blaetterfunktion-limit-letzte-seite.html, limit blätterfunktion, php update galerie set

Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.