mysql schrittweise auslesen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktuellen daten
array
aufruf
auslese
bahnhof
beispiel
code
dank
ende
ermitteln
http
komplette tabelle
laut dokumentation
limit
page
problem
start
tabelle
url
werte start
-
Hallo
wie kann ich eine MySQL-Tabelle nur Schritt für Schritt auslesen?
z.B. die Tabelle enthält 100 Einträge
ich will aber immer nur 10 davon auslesen
ok, mit LIMIT = 10
aber ich will ja nicht nur die ersten 10, wie sage ich ... "fang an zu zählen bei" ?!?
also die ersten 10, dann die nächsten 10 Stück , usw.. (je 10 auf Seite)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
du musst den Startwert, also ab wo er anfangen soll die Datensätze zu holen, per variable mitteilen.
Dazu musst du ja auch wissen, wieviele auf einer Seite dargestellt werden. Dazu dann z.B. in einer if-abfrage den Startwert ermitteln:
if ($page > 1) { // wenn mehr als eine seite if ($page == 2) { // wenn zweite seite, dann ist der startwert gleich der anzahl der einträge pro seite $start = $proseite; } if ($page > 2) { // wenn seite mehr als 2 dann startseite entsprechend ausrechnen $start = ($page-1) * $proseite; } } else { // wenn nur eine seite, starte bei 0 $start = 0; }
$page ist die variable, die die aktuelle Seitenzahl enthält
Dann einfach in der SQL abfrage den startwert mitgeben:
SELECT * FROM tabelle LIMIT $start, $proseite;";
-
Hallo
und Danke, aber das Zählen (ermitteln) der aktuellen Seite ist nicht mein Problem
ich kann zwar auf Seiteb Blättern, aber mein Problem ist,
bei jedem Seiten-Aufruf wird jedesmal die komplette Tabelle -> Array eingelesen
aber eben nur die passenden zru Seite ausgegeben
zeige ... von Array{$start] bis Array{$ende] .... z.B. Seite 2: von 11 bis 20 ... uswl
aber das gesamte Array ist ja vorhanden, also alle Daten ...
so wie ich es oben verstanden habe, einfach bei LIMIt 2 Werte: Start und Ende ?!
$query = "SELECT FROM tabelle .... ... LIMIT (11,20) ";
$query = "SELECT FROM tabelle .... ... LIMIT (21,30) ";
... usw. .... richtig?
viel effizienter und performanter geht es aber SO ;o)
hmm? ... da verstehe ich nur Bahnhof
ich fnde auch leider kein php Beispiel mit ... HANDLER ... READ
bitte um Erklärung ...effizienter und performanter wäre natürlich besser ?! :)
Danke!
-
webgalaxy schrieb:
Das ist unnötiger Traffic und wahrlich nicht performant!
[...]
ich kann zwar auf Seiteb Blättern, aber mein Problem ist,
bei jedem Seiten-Aufruf wird jedesmal die komplette Tabelle -> Array eingelesen
aber eben nur die passenden zru Seite ausgegeben
[...]
webgalaxy schrieb:
So hat es badiya gemeint. Nur das nach dem Schlüsselwort SELECT ein * bzw. eine Selektion der benötigten Attribute fehlt.
[...]
so wie ich es oben verstanden habe, einfach bei LIMIt 2 Werte: Start und Ende ?!
$query = "SELECT FROM tabelle .... ... LIMIT (11,20) ";
$query = "SELECT FROM tabelle .... ... LIMIT (21,30) ";
... usw. .... richtig?
[...]
webgalaxy schrieb:
Also das sollte laut Dokumentation, wohin der Link von hemiolos verweist, in deinem Fall so aussehen:
[...]
viel effizienter und performanter geht es aber SO ;o)
hmm? ... da verstehe ich nur Bahnhof
ich fnde auch leider kein php Beispiel mit ... HANDLER ... READ
bitte um Erklärung ...effizienter und performanter wäre natürlich besser ?! :)
Danke!
$query = "HANDLER tabelle OPEN; HANDLER tabelle READ ... LIMIT (11,20); HANDLER tabelle CLOSE;";
Zu beachten sei hier, dass bei der Verwendung von HANLDER kein LOCK durchgeführt wird. Es besteht also die Möglichkeit, keine aktuellen Daten abzufragen!$query = "HANDLER tabelle OPEN; HANDLER tabelle READ .... ... LIMIT (11,20); HANDLER tabelle CLOSE;";
Beitrag zuletzt geändert: 24.5.2011 11:39:37 von wagnerm -
beeker schrieb:
hmm? ... da verstehe ich nur Bahnhof
ich fnde auch leider kein php Beispiel mit ... HANDLER ... READ
bitte um Erklärung ...effizienter und performanter wäre natürlich besser ?! :)
Danke!
wagnerm schrieb:
...
Also das sollte laut Dokumentation, wohin der Link von hemiolos verweist, in deinem Fall so aussehen:
...
Zu beachten sei hier, dass bei der Verwendung von HANLDER kein LOCK durchgeführt wird. Es besteht also die Möglichkeit, keine aktuellen Daten abzufragen!
JA - bei PHP und MySQL unwissenheit ;o), sonst läuft alles gut!
wir könnten darüber eine anleitung hier anlegen, aber bei lima geht das 'momentan' nicht. tut leid!
lg
hemiolos -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage