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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

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: 21
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: 25.236
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: 21
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.709
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: 21
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.709
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: 21
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.709
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: 21
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: 21
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: 21
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.709
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: 21
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, jQuery, CSS, Bootstrap, LESS 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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:05 Uhr.