Seiten erhalten.
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfragen
alphabet
anspruch
art
benutzer
code
dank
datenbank
hilfe
idee
index
jemand
limit
ordern
page
problem
rank order
schleife
url
vorgenommen code
-
Hallo Zusammen,
Ich habe ein problem , undzwar kann man sich auf meiner Seite Anmelden und ich lasse alle User in einer Userliste ausgeben.
Soweit so gut er zeigt mir auch alle an , doch dies ist auch das Problem , er zeigt eben alle an und das zieht sich bei 60 Leuten schon ganz schön in die Länge.
Deswegen wollte ich dort gerne immer Maximal 20 User anzeigen lassen und dann für den 21 eine neue Seite anfangen lassen.
Seite 3 dann ab 41 usw.
aber wie mache ich das das einzige was mir bisjetzt dazu einfällt ist:
$seite =mysql_real_escape_string(strip_tags($_GET['seite']));
Hat jemand eine Idee oder kann mir dies bezüglich weiterhelfen??
Ebenfalls schön wäre auch noch wenn ich 2 Buttons einbauen könnte wovon einer die User nach Rechten sortiert und einer die User nach Alphabet.
LG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Im folgenden Beispiel wird mit "LIMIT" die Query-Rückgabe begrenzt und mit "ORDER BY" vorher sortiert. In PHP wird dann die Darstellung der Seiten vorgenommen.
$order = 'username ASC'; if (!empty($_GET['o']) && $_GET['o'] == "rank") { $order = "user_rank ASC"; } $page = 1; if (!empty($_GET['p']) && intval($_GET['p'])) { $page = intval($_GET['p']); } $perPage = 2; $limitStart = ($page - 1) * $perPage; $result = $db->query(" SELECT * FROM tobiphp_old.tobiphp_users ORDER BY $order LIMIT $limitStart, $perPage "); $result2 = $db->query(" SELECT COUNT(*) as count FROM tobiphp_old.tobiphp_users "); if ($result && $result2) { $row2 = $result2->fetch_assoc(); $userCount = $row2['count']; ?> <ul> <?php while ($row = $result->fetch_assoc()) { ?> <li><?php echo $row['username'] ?> | <?php echo $row['user_rank'] ?></li> <?php } ?> </ul> <ul> <?php $i = $page; ?> <li><a href="?p=<?php echo $i - 1 ?>"><?php echo $i - 1 ?></a></li> <li><a href="?p=<?php echo $i ?>"><?php echo $i ?></a></li> <li><a href="?p=<?php echo $i + 1 ?>"><?php echo $i + 1 ?></a></li> <?php ?> </ul> <?php $result->close(); }
czibere schrieb:
marvinkleinmusic schrieb:
das kann ja nicht dein ernst sein, dass 60+ abfragen DAUERN!!?? mysql verdaut 60^n abfragen im nu!
Nicht nur die Datenbank kann lange dauern, auch das Scrollen durch die vielen Benutzer nimmt Zeit in Anspruch; und diese Zeit war höchstwahrscheinlich gemeint... -
für solche ausgaben ist eigentlich HANDLER am geegnetsten.
-
Ist doch ganz einfach. Sortieren kannst du sie direkt mit >ORDER BY Username<
In der Url übergibst du die gewünschte Seite, wie das auch in deiner Anfrage schon zu sehen war. Dann rechnest du den Index des Users aus, der als erstes angezeigt werden soll. Bei Seite 2 wäre das der Index 21 (Weil 20 auf der ersten Seite sind)
In einer for-Schleife bis zwanzig gibst du dann immer die User ( IndexDesErsten + i) aus
Aus der Datenbank werden auf diese Art natürlich jedes mal alle User ausgelesen -
tvrecklinghausen schrieb:
no! bravo! bei einem lima-server, der so unperformant ist, wie noch selten zuvor, ist das natürlich die lösung par excellence. (hoffentlich hat er keine 20.000.000+ users ;)
... Aus der Datenbank werden auf diese Art natürlich jedes mal alle User ausgelesen
du hast - nicht war - keine ahnung vom handler? schnell nachlesen.
Beitrag zuletzt geändert: 23.7.2013 23:45:58 von czibere -
tobiworlds schrieb:
czibere schrieb:
marvinkleinmusic schrieb:
das kann ja nicht dein ernst sein, dass 60+ abfragen DAUERN!!?? mysql verdaut 60^n abfragen im nu!
Nicht nur die Datenbank kann lange dauern, auch das Scrollen durch die vielen Benutzer nimmt Zeit in Anspruch; und diese Zeit war höchstwahrscheinlich gemeint...
Ja ich meinte hauptsächlich die Scrollzeit.
Ich danke euch habs dank eurer hilfe hinbekommen ! -
marvinkleinmusic schrieb:
ja schön und gut, freut uns enorm, aber kannst du bitte da trotzdem ein spur ausfälliger in der äußerung werden, dass andere auch dazulernen können?? wie ist es in etwa geschehen? ein bisschen source für den plebs?
... Ich danke euch habs dank eurer hilfe hinbekommen !
das 'danke schön' ist weniger wichtig als die 'zurverfügungstellung' der erfahrung! davon leben hier fast alle ;)
Beitrag zuletzt geändert: 25.7.2013 0:38:16 von czibere -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage