Seitenausgabe zurück|1 2 3|weiter |
deden
Pixelschubser Threadstarter
Beiträge: 21 |
Hallo zusammen,
Ich arbeite derzeit an einem neuen Script, eigentlich mit einem Gästebuch vergleichbar (um es mal kurz zu erklären ^^). Jetzt möchte ich gerne die Ergebnisse Seitenweise ausgeben und zwar pro Seite 5. Die Daten werden aus einer MySQL-DB ausgelesen. Die Links Weiter und Zurück sind kein Problem, allerdings möchte ich die einzelnen Seiten noch ausgeben, das ganze sollte so aussehen.
<>
Gut wäre es auch noch wenn die aktuelle Seite dann Fett wäre.
Könnte mir vielleicht jemand sagen wie ich so etwas hinbekomme, danke schonmal ;)
|
 Profil
Editieren
Zitieren
|
MCM
Quasselstrippe
Beiträge: 422 |
Anzahl aller beiträge holen, den wert durch 5, dann aufrunden somit hast du die anzahl deiner seiten.
dann ne schleife. wo var2 = 1 und i = 1 ist
solange i <= Seitenanzahl ist schreibe i i++ , var2 + 5
somit zeigt der dier alle seiten an und verlinkt diese auch ;)
Code hab ich irgendo, find ich aber net. Hoffe du kommst mit dem prinzip klar
---
cya MCM
[Je mehr Bürger mit Zivilcourage ein Land hat, desto weniger Helden wird es einmal brauchen]
[by Franca Magnani]
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Und so in der Art müsste die Query aussehen, damit auch der richtige Bereich angezeigt wird.
1:
2:
3:
4: | $cnt=5; //Die Anzahl der Einträge auf einer Seite
$i=$cnt*($seite-1); //Der erste anzuzeigende Eintrag
$query=mysql_query("SELECT text FROM `blubber` LIMIT $i,$cnt"); |
Can
---
" S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Hier, $pageentries bei dir = 5:
1:
2:
3:
4:
5:
6:
7:
8: | //Berechnung der Einträge für die aktuelle Seite
$anfang = ($seite - 1) * $pageentries;
$ende = $anfang + $pageentries;
$query = "SELECT * FROM guestbook";
$result = mysql_query($query,$connection);
$gesamt = mysql_num_rows($result);
$seiten = ceil($gesamt / $pageentries);
$eintragnow = $gesamt - $anfang; |
Und dann die Seitenanzeige:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24: | //Pfeilnavigation links
if ($seite > 1) {
echo "<<";
} else {
echo "<<";
};
//Zahlenleiste
echo " |";
for ($i=1;$i<=$seiten;$i++) {
if ($i == $seite) {
echo " $i";
} else {
echo " $i";
};
};
echo " |";
//Pfeilnavigation rechts
if ($ende < $gesamt) {
echo " >>";
} else {
echo " >>";
}; |
Gruß
Johannes
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Waaahhh...armer Server! Nimm lieber das:
1:
2:
3: | $query = "SELECT count(*) FROM `guestbook`";
$result = mysql_query($query,$connection);
$gesamt = mysql_result($result,0); |
---
" S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
MCM
Quasselstrippe
Beiträge: 422 |
Tja, wie ich halt gesagt hab nur mit code.
Zum zählen nehm ich aber was anderes
1: | $seiten = mysql_num_rows(mysql_query("SELECT * FROM gb")): |
Ist halt kürzer
---
cya MCM
[Je mehr Bürger mit Zivilcourage ein Land hat, desto weniger Helden wird es einmal brauchen]
[by Franca Magnani]
|
 Profil
Editieren
Zitieren
|
MCM
Quasselstrippe
Beiträge: 422 |
Tja, wie ich halt gesagt hab nur mit code.
Zum zählen nehm ich aber was anderes
1: | $seiten = mysql_num_rows(mysql_query("SELECT * FROM gb")): |
Ist halt kürzer
---
cya MCM
[Je mehr Bürger mit Zivilcourage ein Land hat, desto weniger Helden wird es einmal brauchen]
[by Franca Magnani]
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
....nur mit dem Unterschied, dass bei deiner (eurer) Methode erst der Inhalt aller Zeilen aus der MySQL-Datenbank angefordert werden, damit sie dann einfach nur gezählt werden, und bei mir nur das abgefragt wird, was man wissen möchte; also die Anzahl der Zeilen.
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Can schrieb am 14.05.2003 18:10
Waaahhh...armer Server! Nimm lieber das:
1:
2:
3: | $query = "SELECT count(*) FROM `guestbook`";
$result = mysql_query($query,$connection);
$gesamt = mysql_result($result,0); |
|
Hey danke, den kannte ich noch nicht. Hab ich sofort umgebaut!
|
 Profil
Editieren
Zitieren
|
MCM
Quasselstrippe
Beiträge: 422 |
Dies was der länger dafür braucht, ist so gering, dass es nix ausmacht (es sei denn, du hast ein paar tausen einträge). Und was ich geschrieben hab, ist einfach kürzer.
---
cya MCM
[Je mehr Bürger mit Zivilcourage ein Land hat, desto weniger Helden wird es einmal brauchen]
[by Franca Magnani]
|
 Profil
Editieren
Zitieren
|
deden
Pixelschubser Threadstarter
Beiträge: 21 |
jo, vielen Dank Leute für die schnellen und guten Antworten, konnte einige gebrauchen mein Script funktioniert jetzt. THX
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Ja klar, aber sollte man es nicht so programmieren, dass es auch bei größeren Gästebüchern schnell ist?
Bei einem normalen Gästebuch macht es sicher kaum was aus, aber nehmen wir mal an, man programmiert einen GB-Service, wo eine Seite mehrere hundert Gästebücher verwaltet, dessen ID als Parameter übergeben wird. Da könnte es dann schon anderst aussehen, wenn es mehrere hundert GBs mit je hundert Einträgen sind
Can
---
" S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
MajorWindbeutel
Quasselstrippe
Beiträge: 328 |
Ich Hab noch ma ne frage dazu wie bekomme ich die zahlen 123 usw
in dem script weiß alles andere hab ich schon angepasst nur das mit den zahlen klappt nicht
---
Mit freundlichen Grüßen
MajorWindbeutel
Meine Homepage
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
MajorWindbeutel
Quasselstrippe
Beiträge: 328 |
Ich Hab noch ma ne frage dazu wie bekomme ich die zahlen 123 usw
in dem script weiß alles andere hab ich schon angepasst nur das mit den zahlen klappt nicht
---
Mit freundlichen Grüßen
MajorWindbeutel
Meine Homepage
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
bitte wie? Das ist doch ganz normales HTML, wenn du die Zahlen umfärben willst!
|
 Profil
Editieren
Zitieren
|