BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Mehrseitige DB-auslese (http://www.black-board.net/thread.php?threadid=22082)


Geschrieben von SpL!T am 21.04.2006 um 12:12:

  Mehrseitige DB-auslese

Huhu,

Programmiere mir momentan ein kleines eigenes Forum.

Klappt alles wunderbar bisher. Nur überlege ich mir, wie ich es realisieren kann, z.B. 30 Einträge auf 3 Seiten zu je 10 Einträgen zu verteilen. (wie man es halt in allen Foren so sieht).

Meine Idee:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
// standart variablen:
$limit 10;
$siteid 1;

select from forum where threadid 'xy' and limit '$limit';

// durch klick auf "Seite2" wird die variable "$siteid=2" mitgegeben.

if ($siteid==2) { 
$limit 20;
}


nun würden beiträge 1-20 ausgelesen ich will aber nur 10-20...

1. Findet ihr die Variante halbwegs sinvoll oder kennt jemand eine deutlich einfachere/bessere Möglichkeit, das zu lösen?
2. Wie kann ich von 30 Einträgen, die Einträge 10 - 20 auslesen?

mfg smile



Geschrieben von LX am 21.04.2006 um 12:40:

Achtung

LIMIT in SQL akzeptiert einen oder zwei Parameter. Bei einem einzelnen werden besagte Anzahl Zeilen zurückgegeben, bei 2 Parametern y Anzahl Zeilen beginnend ab x. Beispiel:

code:
1:
SELECT * FROM beitraege LIMIT 10,20;



Geschrieben von SpL!T am 21.04.2006 um 12:56:

 

*verbeug* thänks. smile

vllt. noch jemand was zu 1. zu sagen? smile



Geschrieben von phlox81 am 21.04.2006 um 15:18:

 

Hm, ansonsten könnte man eine spalte in den beiträgen führen,
wo dann verzeichnet ist, auf welcher seite diese sind. ABer so wirklich
sinnvoll ist das nicht. LIMIT x,y ist da schon besser.



Geschrieben von Flobre am 21.04.2006 um 15:30:

 

Zitat:
Original von phlox81
Hm, ansonsten könnte man eine spalte in den beiträgen führen,
wo dann verzeichnet ist, auf welcher seite diese sind. ABer so wirklich
sinnvoll ist das nicht. LIMIT x,y ist da schon besser.


oha und dann jedes mal komplett durchlaufen lassen, wenn ein beitrag gelöscht wird? smile



Geschrieben von phlox81 am 21.04.2006 um 16:40:

 

Zitat:
Original von Flobre
Zitat:
Original von phlox81
Hm, ansonsten könnte man eine spalte in den beiträgen führen,
wo dann verzeichnet ist, auf welcher seite diese sind. ABer so wirklich
sinnvoll ist das nicht. LIMIT x,y ist da schon besser.


oha und dann jedes mal komplett durchlaufen lassen, wenn ein beitrag gelöscht wird? smile


Von löschen war nie die Rede Augenzwinkern
Generell sollte auch ein Gelöschter post als solcher angezeigt werden,
finde ich, also behält der Datensatz seine gültigkeit, nur der Status ändert sich.
Sonst bekommst du Probleme, wenn dich jemand rechtlich belangt,
und der User mal eben die Beiträge löscht...

phlox



Geschrieben von LX am 21.04.2006 um 17:08:

Achtung

Das ist Korrekt, aber wenn du auf einer Seite 7 von 10 Beiträgen auf "gelöscht" setzt, hast du Fransenseiten, wenn die Seitenzuordnungen so bleiben.

Aber hast es ja selber schon gesagt: LIMIT passt schon. Augenzwinkern


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH