Tom: &SQL: Wie kann ich ausgaben über mehrere seiten verteilen

Beitrag lesen

Hello,

select <fields> from <table> where ID in (<subset>)

$set=(10,15,20,55,99,1013,199,7005789)
        --------
        seite 1  ----------
                  seite 2   -----------
                             seite 3

ab hier verstehe ich es nichtmehr... wie weist du SEITE 1, SEITE 2... etc den werten dort zu?

Das mache ich nach gutdünken.
Angenommen, man hat nicht 8 IDs ermittelt mit der Abfrage, sondern 132, dann stehen die eben der Reihe nach, so wie die Sortierung es vorschrieb, in diesem Set. Und nun entscheide ich mich, immer 9 Datensätze auf einer Seite anzuzeigen. Wie könnte ich denn über einen Index auf diese IDs zugreifen?

PHP bietet für diese Dinge leistungsstarke Array-Funktionen. Man könnte also das Set in ein Array übertragen (wenn es da nicht schon drin steht) und dann mit array_slice() einen Teil rausschneiden
http://de3.php.net/manual/de/function.array-slice.php

$_subset = array_slice($_set,($page-1)*$anzahl,$anzahl);
  $subset = implode(',',$_subset);

$sql =  "select $fieldset from $tabelle where ID_$tabelle in ($subset)";

und Schuss!

Man könnte sich natürlich auch Stringfunktionen selber basteln. MySQL bietet solche Funktionen bereits (fast) fertig. Man zählt einfach die Kommata und schneidet das Stück raus.

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

Ich suche dafür allerdings immer noch nach einer Möglichkeit der Drehung der Daten um 90°...

*lacht*
Kannst sie ja als Grafik schreiben... und drehen.. und durch einen Reader das Bild wieder in werte zurückgeben lassen =)
Was natürlich unsinn wäre =)

Ja, wenn vertikale Daten damit korizontal werden?

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau