Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!

Jetzt kostenlos registrieren

Seitenaufteilung in Php Zusatz

Ihr wolltet unbedingt mal ein Tutorial über ein bestimmtes Thema? Sagt es uns...

Moderatoren: Andreas, Basti

Seitenaufteilung in Php Zusatz

Beitragvon DaBu am 17.06.2008, 13:12

So ich denke ihr kennt dieses Tutorial,

Ich habe mir gedacht pack ich es mal auf meine Homepage, dabei ist mir was aufgefallen.

Sagen wir du gibst 12 Datensätze aus d.h. auf Seite 1 sind dann 1 - 10 und auf Seite 2 11 - 12.
Allerdings steht da nicht 11 - 12 sondern 11 - 20. Das ist natürlich falsch weil wir ja nur 12 Einträge haben.
Deswegen habe ich da einfach mal den Code erweitert.

Code: Alles auswählen
IF($ende > $gesamt){ $ende = $gesamt; }


Erklärung:
In einer Schleife wird geguckt ob $ende mehr ist als die gesammte Menge der Einträge, wenn das so ist wird $ende durch die Zahl der Einträge ersetzt.

Ich habe es einfach hier drann gehangen:

Code: Alles auswählen
$num_sites = ceil($gesamt/$eintraege_pro_seite);

if(empty($_GET['site'])) {
   $site = 1;
} elseif($_GET['site'] <= 0 || $_GET['site'] > $num_sites) {
   $site = 1;
} else {
   $site = $_GET['site'];
}

$links = array();
if($site != 1) {
   $prev = $site-1;
   $links[] = '<a href="seite.php?site='.$prev.'">&laquo;</a>';
}
for($i=1;$i<=$num_sites;$i++) {
   if($i == $site) {
       $links[] = $i;
   } else {
       $links[] = '<a href="seite.php?site='.$i.'">'.$i.'</a>';
   }
}
if($site != $num_sites) {
   $next = $site+1;
   $links[] = '<a href="seite.php?site='.$next.'">&raquo;</a>';
}
$link_string = implode(" | ", $links);
$start = ($site-1)*$eintraege_pro_seite;
$start2 = $start+1;
$ende = $start+10;


Ich hoffe das ich das hier richtig poste und das ich nicht auch einfach was im Tut übersehen habe.
Benutzeravatar
DaBu
Mitglied
 
Beiträge: 194
Registriert: 12.04.2008, 17:56
Wohnort: Radevormwald
Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!
 
Jetzt kostenlos registrieren

Re: Seitenaufteilung in Php Zusatz

Beitragvon DaBu am 18.06.2008, 10:35

Hi
Ich weiß Doppelpost, aber wieso wird das nicht geändert oder kein Kommentar abgegeben? Seit 2 Tagen
Benutzeravatar
DaBu
Mitglied
 
Beiträge: 194
Registriert: 12.04.2008, 17:56
Wohnort: Radevormwald

Re: Seitenaufteilung in Php Zusatz

Beitragvon Manuel am 18.06.2008, 11:07

Wurde vermerkt und weitergereicht, keine Sorge. Wir können nur leider nicht alles sofort ändern und das hängt auch immer davon ab, wie viel Zeit der entsprechende Moderator dann dafür hat. Also keine Sorge, es ist nicht untergegangen und steht schon in den ToDos. ;)
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 11517
Registriert: 10.12.2004, 19:29

Re: Seitenaufteilung in Php Zusatz

Beitragvon DaBu am 18.06.2008, 11:18

aso ok, thx. Ich dachte nur weil sich hier keiner gemeldet hat. Wusste ich nicht.
Benutzeravatar
DaBu
Mitglied
 
Beiträge: 194
Registriert: 12.04.2008, 17:56
Wohnort: Radevormwald

Re: Seitenaufteilung in Php Zusatz

Beitragvon Basti am 18.06.2008, 14:34

Jep, werde mich darum kümmern. Ich hätte es auch sofort eingefügt, aber ich wollte dann doch wenigstens den Tutorialtext um eine entsprechende Erklärung erweitern.

Vielen Dank jedenfalls für den Hinweis ;)
Benutzeravatar
Basti
Site Admin
 
Beiträge: 3075
Registriert: 15.06.2006, 17:33
Wohnort: Kaiserslautern

Re: Seitenaufteilung in Php Zusatz

Beitragvon greenslot am 08.12.2008, 17:44

Hallo zusammen,

bin über google auf das Tutorial gestoßen.
Wäre es möglich, wenn jemand den Code in eine Funktion verpackt, damit sich das mehrmals auf der Seite verwenden lässt?
Danke!
greenslot
Mitglied
 
Beiträge: 3
Registriert: 08.12.2008, 16:56

Re: Seitenaufteilung in Php Zusatz

Beitragvon Andreas W. am 09.12.2008, 00:23

Das gibt es sicherlich bereits. Google doch einfach mal nach Pager-Klasse oder Blätterfunktion.
MfG, Andy
Association for Valid wEb DevelOpment - Informatik, Programmierung & Webdesign
http://www.avedo.net
Benutzeravatar
Andreas W.
Web Moderator
 
Beiträge: 1352
Registriert: 09.12.2007, 20:12
Wohnort: Göttingen

Re: Seitenaufteilung in Php Zusatz

Beitragvon greenslot am 11.11.2010, 19:37

Hallo,
da bin ich mal wieder...

Bei mir gibt es ein Problem, wenn ich die Seitenaufteilung in andere Links als seite.php?site=1 einbauen will.

Aktuell habe ich eine Seite, die ich so aufrufe: seite.php?rubrik=wetter?site=1.

Die Aufteilung klappt und die Links werden auch korrekt eingebunden, aber ich kann mit $site+1 nicht weiter oder mit $site-1 nicht zurück springen.

Auch wird immer nur die erste Seite als "nicht verlinkt" dargestellt, auch wenn ich schon auf Seite 2 oder weiter bin.
Ich habe das so eingestellt, das immer die aktive bzw. aufgerufene Seite in der Auflistung grün hervorgehoben wird, aber hier ist immer nur Seite 1 grün, egal wo ich gerade bin.

Kann mir bitte jemand erklären, was ich da noch anpassen muss, damit das auch auf der o.g. Seite klappt?

Danke!!

EDIT: Ok, es muss was mit Mod-Rewrite zu tun haben...

seite.php?rubrik=wetter?site=1 geht und alles wird korrekt angezeigt.

seite-wetter-1.php geht nicht.

RewriteRule ^seite-(.*)-(.*)\.php$ /seite/seite.php?wetter=$1&site=$1 [L]
greenslot
Mitglied
 
Beiträge: 3
Registriert: 08.12.2008, 16:56

Re: Seitenaufteilung in Php Zusatz

Beitragvon Basti am 11.11.2010, 21:11

Die Rewrite-Rule wäre gar nicht notwendig gewesen, zumindest nicht für die erste Variante mit der tatsächlichen PHP-Datei.
Vielmehr bist du einem häufigen Trugschluss zum Opfer gefallen. Zwar werden GET-Parameter mit einem "?" eingeleitet, weitere Argumente werden jedoch durch ein "&" angefügt (in der Rewrite-Rule hast du dieses "&" auch notiert).

In deinem Fall würde der notwendige Link also wie folgt aussehen: seite.php?rubrik=wetter&site=1
Bei der Ausgabe mit HTML sollte mit der HTML-Maskierung "&amp;" gearbeitet werden.

Damit auch deine Rewrite-Rule funktioniert, müsstest du anstatt zweimal "$1" nur für den Parameter "wetter" diesen Platzhalter einsetzen. Da du dich für die aktuelle Seitennummer auf die zweite Klammerung beziehen möchtest, muss hinter "&site=" der Platzhalter "$2" eingesetzt werden.
Benutzeravatar
Basti
Site Admin
 
Beiträge: 3075
Registriert: 15.06.2006, 17:33
Wohnort: Kaiserslautern

Re: Seitenaufteilung in Php Zusatz

Beitragvon greenslot am 12.11.2010, 15:42

Basti hat geschrieben:Damit auch deine Rewrite-Rule funktioniert, müsstest du anstatt zweimal "$1" nur für den Parameter "wetter" diesen Platzhalter einsetzen. Da du dich für die aktuelle Seitennummer auf die zweite Klammerung beziehen möchtest, muss hinter "&site=" der Platzhalter "$2" eingesetzt werden.

Danke, das war's! :thumbsup:
greenslot
Mitglied
 
Beiträge: 3
Registriert: 08.12.2008, 16:56


Zurück zu Tutorialwünsche

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste