Limit 15?

nordi

Erfahrenes Mitglied
Hi Leute,

ich hab ein kleines GB in PHP/MySQL geschrieben und will jetzt die Einträge auf verschiedene Seiten unterteilen. Das kann man ja mit MySQL mit LIMIT 15 ( also 15 Einträge anzeigen lassen )einstellen. Aber wie mache ich das, dass ich auf seite 2 klicke, dass der dann die restlichen Einträge auswirft?

wäre dankbar für hilfe

grüße aus dem regnerischen Köln

marius
 
gratuliere zum 1000sten post ;)

@nordi: du willst doch sicher, dass die seitenzahlen unter dem guestbook automatisch erweitert werden, und sozusagen immer 15 einträge pro seite ausgegeben werden !? ...irgendwann kommt ja der 31ste eintrag ;)
naja, jedenfalls könntest mal im archiv rumsuchen, wurde glaub schon öfters behandelt das thema, inklusive komplett fertige scripte....

bye
 
Mach am besten eine Variable zB. $low welche du per URL weitergibst. In dieser Variable ist dann der Startpunkt der "Aussortierung" gespeichert... Codebeispiel:

PHP:
$low = $_GET[$low];
$postsperpage = 15;

$sql_query = "SELECT * FROM posts ORDER by date asc LIMIT $low,$dpostsperpage";

Um dann auf eine zweite Seite zu kommen genügt der Link "index.php?low=15".

Du kannst (solltest ;)) dir natürlich auch noch ein kleines Script machen, welches aus der Anzahl an Einträgen in der posts Tabelle die Anzahl an Seiten deines GB's errechnet...
Das sollte helfen.

antihero

PS: Gratulation mr. melmager... Ich werd dich einholen... :D
 

$low = $_GET[$low];
$postsperpage = 15;

$sql_query = "SELECT * FROM posts ORDER by date asc LIMIT $low,$dpostsperpage";
Sicherheitslücke! In $low könnte man ja so alle möglichen SQL-Befehle packen, einschließlich Löschung der kompletten Datenbank...
Außerdem muss es $_GET['low'] heißen, seh ich grad noch.

PHP:
$low = intval($_GET['low']);
Aber damit wär ich dann zufrieden :)
 
----- von php.net manual ----

mysql_data_seek ( resource Ergebnis-Kennung, int Datensatznummer)

mysql_data_seek() bewegt den internen Datensatz-Zeiger eines Anfrageergebnisses zum Datensatz mit der übergebenen Nummer. Der nächste Aufruf von mysql_fetch_row() liefert den entsprechenden Datensatz.

------------------------------

dies hier ist auch ne ganz gute alternative, und man läuft auch nicht gefahr das die DB manipuliert wird.
 
Sicherheitslücke! In $low könnte man ja so alle möglichen SQL-Befehle packen

das schon aber die würden nicht ausgefürt werden

SELECT * FROM posts ORDER by date asc LIMIT $low,$dpostsperpage

und in low ist denn "delete from post"

also=

SELECT * FROM posts ORDER by date asc LIMIT delete from post,15

ergibt einen netten syntaxerror :-)
 
@reima
Immer diese ewigen Nörgler... ;) Aber recht hast du natürlich, wobei ich schon froh bin das melmager meine Ansicht teilt, das Code in $low nicht ausgeführt wird... ;)

antihero
 
Zurück