- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-06-2010, 13:55
mwde85
 Registrierter Benutzer
Links : Onlinestatus : mwde85 ist offline
Registriert seit: Jun 2010
Beiträge: 15
mwde85 befindet sich auf einem aufstrebenden Ast
Question Frage zu einem Seitenzahlen Script

Hallo,

ich habe hier ein fertiges Seitenzahlen Script.

Das sieht so aus:

Seite: [1] 2 3 4

Soweit funktioniert auch alles. Meine Frage ist nun, wie bekomme ich es hin, dass das Script nur die ersten 10 Seitenzahlen anzeigt und dann zb nach der 10 Seitenzahl "..." macht.

Ich habe nämlich viele Artikel, sprich es gibt sehr viele Seitenzahlen. Wenn der User die erste Seite aufruft soll er nur die ersten 10 Seitenzahlen sehen. Wenn er auf der 10. Seite ist, sollen die nächsten 10 Seitenzahlen gezeigt werden. Wie bekomme ich das am besten hin?

PHP-Code:
<?php
//Abfrage auf welcher Seite man ist 

//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1 
if($seite == ""){ 
   
$seite 1;  
   }
   
   
//Verbindung zu Datenbank aufbauen 

include "db_login.php";

//Eintraege pro Seite: Hier 15 pro Seite 
$eintraege_pro_seite 5

//Ausrechen welche Spalte man zuerst ausgeben muss: 

$start $seite $eintraege_pro_seite $eintraege_pro_seite



$result mysql_query("SELECT id FROM xxxxx WHERE page_id=".mysql_real_escape_string($id).""); 
$menge mysql_num_rows($result); 

//Errechnen wieviele Seiten es geben wird 
$wieviel_seiten $menge $eintraege_pro_seite


//Ausgabe der Seitenlinks: 
echo "<div align=\"center\">"
echo 
"<b>Seite:</b> "


//Ausgabe der Links zu den Seiten 
for($a=0$a $wieviel_seiten$a++) 
   { 
   
$b $a 1

   
//Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben 
   
if($seite == $b
      { 
      echo 
"  <b>[$b]</b> "
      } 

   
//Auf dieser Seite ist der User nicht, also einen Link ausgeben 
   
else 
      { 
      
$next_ok 1;
      echo 
"  <a href=\"page.php?page=kat&seite=$b&id=$id\">$b</a> "
      } 


   } 
   
   if(
$next_ok == && $seite != $a){
   
// Rausfiden welche Seite als naechstes kommt
   
$nex_seite $seite 1;
   echo 
"<a href=\"page.php?page=kat&seite=$nex_seite&id=$id\"> > </a>";
   }
   
echo 
"</div><br>"


//Tabelle Abfragen 
//Tabelle hei&szlig;t hier einfach: Tabelle 
$abfrage "SELECT * FROM xxxxx WHERE page_id=".mysql_real_escape_string($id)." ORDER BY `id` DESC LIMIT $start, $eintraege_pro_seite"
$ergebnis mysql_query($abfrage); 
while(
$row mysql_fetch_object($ergebnis)) 
    { 
    
// Hier die Ausgabe der Eintraege
  
$id_kat $id$id_art $row->id; include "tmp_einz_artikel.php";  
   } 


//Jetzt kommt das "Inhaltsverzeichnis", 
//sprich dort steht jetzt: Seite: 1 2 3 4 5 


//Wieviele Eintraege gibt es ?berhaupt 

//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten 
//also der gleiche Text wie in der Variable $abfrage, blo&szlig; das hier das LIMIT fehlt 
//Sonst funktioniert die Bl?tterfunktion nicht richtig, 
//und hier kann nur 1 Feld abgefragt werden, also id 

$result mysql_query("SELECT id FROM xxxxxx WHERE page_id=".mysql_real_escape_string($id).""); 
$menge mysql_num_rows($result); 

//Errechnen wieviele Seiten es geben wird 
$wieviel_seiten $menge $eintraege_pro_seite

//Ausgabe der Seitenlinks: 
echo "<br><div align=\"center\">"
echo 
"<b>Seite:</b> "


//Ausgabe der Links zu den Seiten 
for($a=0$a $wieviel_seiten$a++) 
   { 
   
$b $a 1

   
//Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben 
   
if($seite == $b
      { 
      echo 
"  <b>[$b]</b> "
      } 

   
//Aus dieser Seite ist der User nicht, also einen Link ausgeben 
   
else 
      { 
      echo 
"  <a href=\"page.php?page=kat&seite=$b&id=$id\">$b</a> "
      
$next_ok 1;
      } 


   }
   if(
$next_ok == 1  && $seite != $a){
   
// Rausfiden welche Seite als naechstes kommt
   
$nex_seite $seite 1;
   echo 
"<a href=\"page.php?page=kat&seite=$nex_seite&id=$id\"> > </a>";
   }
echo 
"</div>"
?>
Mit Zitat antworten
  #2 (permalink)  
Alt 02-06-2010, 14:04
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mwde85 Beitrag anzeigen
Wenn er auf der 10. Seite ist, sollen die nächsten 10 Seitenzahlen gezeigt werden. Wie bekomme ich das am besten hin?
Ganz kleines bisschen selber nachdenken, und die Laufweite der Schleife, die die Links ausgibt, entsprechend (dynamisch) anpassen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 02-06-2010, 14:29
mwde85
 Registrierter Benutzer
Links : Onlinestatus : mwde85 ist offline
Registriert seit: Jun 2010
Beiträge: 15
mwde85 befindet sich auf einem aufstrebenden Ast
Standard

Wenn ich es wüsste würde ich ja nicht fragen :-). Ich bin Anfänger und habe keinen Plan wie ich es machen soll...

Ich möchte es gerne so haben:

Seite: [1] 2 3 4 5 6 7 8 9 10 ...

Ab der Seite 10:

Seite: 11 12 13 14 15 usw...
Mit Zitat antworten
  #4 (permalink)  
Alt 02-06-2010, 15:44
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

PHP-Code:
...
$anfang max(min($seite 5$wieviel_seiten 10), 0);
for (
$a $anfang$a min($anfang 10$wieviel_seiten); $a++)
... 
Ist etwas anders als du wolltest, aber mit Absicht, damit man von Seite 11 auch wieder zurück kommt.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (02-06-2010 um 16:46 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 02-06-2010, 16:43
mwde85
 Registrierter Benutzer
Links : Onlinestatus : mwde85 ist offline
Registriert seit: Jun 2010
Beiträge: 15
mwde85 befindet sich auf einem aufstrebenden Ast
Standard

Danke schonmal für das Beispiel,

Ab Seite 10 geht es dann aber nicht mehr weiter. Da soll es ja dann weiter gehen mit 11, 12, 13, 14 usw... Dann sollen also die nächsten 10 weiteren Zahlen kommen wenn es noch mehr Seiten gibt. Geht das auch?
Mit Zitat antworten
  #6 (permalink)  
Alt 02-06-2010, 16:45
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von mwde85 Beitrag anzeigen
geht das auch?
LOL, aber klar. War noch ein Fehler drin. Jetzt ist er raus. Mal wieder ein typischer Fehler, wenn man es nicht selbst testen kann.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #7 (permalink)  
Alt 02-06-2010, 16:59
mwde85
 Registrierter Benutzer
Links : Onlinestatus : mwde85 ist offline
Registriert seit: Jun 2010
Beiträge: 15
mwde85 befindet sich auf einem aufstrebenden Ast
Standard

Ok das klappt schonmal gut. Ich habe jetzt zb 13 Seiten und und die letzte Seite von hinten ist die Seite 4. Wenn ich also jetzt auf Seite 4 zurück springe sehe ich die restlichen Zahlen aber nicht mehr :-). Also 3, 2, 1...

So sieht das aus:

Seite: [4] 5 6 7 8 9 10 11 12 13 >

Das Symbol zeigt in diesem Fall die aktuelle Seite an...

Die Zahl 5 in deinem Script ist ja für die Anzahl der Einträge, also das 5 Einträge pro Seite maximal angezeigt werden, richtig?
Mit Zitat antworten
  #8 (permalink)  
Alt 02-06-2010, 17:04
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Ich hab mich drauf verlassen, dass in $wieviel_seiten dann z. B. immer 13 drin steht, wenn es 13 Seiten sind. Das müsstest du aber selbst mal überprüfen.

Zitat:
Zitat von mwde85 Beitrag anzeigen
Die Zahl 5 in deinem Script ist ja für die Anzahl der Einträge, also das 5 Einträge pro Seite maximal angezeigt werden, richtig?
Nein, das sorgt dafür, dass auch 5 Seiten vor der aktuellen angezeigt werden:

[1] 2 3 4 5 6 7 8 9 10
1 2 3 4 5 [6] 7 8 9 10
3 4 5 6 7 [8] 9 10 11 12
4 5 6 7 8 9 10 [11] 12 13
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (02-06-2010 um 17:08 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 02-06-2010, 17:06
mwde85
 Registrierter Benutzer
Links : Onlinestatus : mwde85 ist offline
Registriert seit: Jun 2010
Beiträge: 15
mwde85 befindet sich auf einem aufstrebenden Ast
Standard

Ja $wieviel_seiten gibt aus wie viele Seiten es gibt. Das ist korrekt. Hmm woran kann das sonst noch liegen
Mit Zitat antworten
  #10 (permalink)  
Alt 02-06-2010, 17:10
mwde85
 Registrierter Benutzer
Links : Onlinestatus : mwde85 ist offline
Registriert seit: Jun 2010
Beiträge: 15
mwde85 befindet sich auf einem aufstrebenden Ast
Standard

Ahh ok dann habe ich einen Fehler gemacht... Jetzt funktioniert es super!

Vielen Dank für deine Hilfe!
Mit Zitat antworten
  #11 (permalink)  
Alt 02-06-2010, 17:26
mwde85
 Registrierter Benutzer
Links : Onlinestatus : mwde85 ist offline
Registriert seit: Jun 2010
Beiträge: 15
mwde85 befindet sich auf einem aufstrebenden Ast
Standard

Es gibt nur noch ein Problem das ich gerade festgestellt habe. Es gibt immer eine Seite (meistens die 2. Seite) wo er nur 2 Ergebnisse (statt 5) anzeigt. Bei den restlichen zeigt er dann wieder die vollen 5 Ergebnisse an. Komisch oder?
Mit Zitat antworten
  #12 (permalink)  
Alt 02-06-2010, 17:29
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Da musst du aber langsam selbst sehen, woran das liegen kann. Eigentlich wollte ich dir ursprünglich nur ein Beispiel geben. Es sei denn, du willst mich engagieren…
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #13 (permalink)  
Alt 02-06-2010, 17:34
mwde85
 Registrierter Benutzer
Links : Onlinestatus : mwde85 ist offline
Registriert seit: Jun 2010
Beiträge: 15
mwde85 befindet sich auf einem aufstrebenden Ast
Standard

Ne ne das passt schon :-). Ich versuche es zu lösen.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zu einem Java script [DLR] HTML, JavaScript, AJAX und CSS 7 22-02-2007 20:17
Frage zu einem Vote Script Gaint PHP Developer Forum 4 19-04-2006 07:31
[Script] Frage zu einem Bilder-vote-script! Nok1a BRAINSTORMING PHP/SQL/HTML/JS/CSS 8 19-11-2005 12:35
Frage zu einem externen Script webteddy PHP Developer Forum 2 13-03-2005 22:06
Frage zu einem Referer Script hijack PHP Developer Forum 2 21-10-2003 14:33

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:07 Uhr.