Christoph Schnauß: Array trennen

Beitrag lesen

hallo Alexander,

Das führt dann direkt dazu, dass [...] die Anwendung vernünftig (= logarithmisch) skaliert.

Die Logik ergibt sich daraus, daß in der aufgerufenen Funktion
  function getZitate($start = false, $limit = false)
steht. Die Zählung beginnt aber am "falschen" Ende, man müßte eigentlich die ganzen DB-Einträge "umdrehen". Dein Vorschlag mit
  $temp = Datenbank::getInstance()->getZitate(101, 50);
liefert im Moment genau die Einträge 172 - 123. Sobald ein Eintrag dazukommt, wird das zu 173 - 124. Und da ich in der aufgerufenen Funktion getZitate() nicht herumschnipseln wollte (das ist deine), habe ich zunächst Array-Funktionen probiert - es gibt da auch noch andere als array_slice(). Außerdem habe ich eine vergleichbare Problemstellung schonmal bei einem anderen Projekt erlebt, bei dem ich auf die Art, wie die Daten ausgelesen wurden, keinen Zugriff hatte.

In getZitate erfolgt die Sortierung der DB-Einträge mit
  'texte order by datum, id desc';.
Wenn man das nach
  'texte order by id, datum desc';
ändert, beginnt die Zählung an der "richtigen" Stelle.

Solange die Sortierung als vorgegeben angesehen wird, liefert der Bereich (-x, 50) zwar tatsächlich 50 Einträge, nur lassen sich Start und Ende dieses Ausschnitts nicht genau festlegen. Das heißt, ich konnte es nicht, aber immerhin war ja wohl an der Herangehensweise irgendwas nicht korrekt. Und wenn man den Grund dafür nicht findet, muß man entweder Holunder ernten gehen (den gibts bloß noch nicht) oder eben jemanden wie das Forum fragen.

;-)

Grüße aus Berlin

Christoph S.

--
Visitenkarte
ss:| zu:) ls:& fo:) va:) sh:| rl:|