Avatar billede mortenmj Nybegynder
22. februar 2003 - 17:34 Der er 11 kommentarer og
1 løsning

highscore, php MySQL

Spørgsmålet henvender sig nok mest til MySQL folk men...

Jeg er i gang med at lave et spil hvor jeg gerne skulle have en highscore,
som det ser ud nu har jeg et top 10 og det virker fint, men jeg vil gerne have den udbygget til fx. top 100.

Jeg vil gerne have vist 10 poster ad gangen og helst i intervaller 1-10 11-20 osv...


Er der en der kan komme med en ide eller et forslag til hvordan dette gøres nemmest?

som det ser ud nu har min Database/tabel 3 kolonner: ID, spillernavn og score.

mvh Morten.
Avatar billede swaxi Nybegynder
22. februar 2003 - 17:36 #1
SELECT FROM ... WHERE ... LIMIT 0,10  -> viser de ti første poster
SELECT FROM ... WHERE ... LIMIT 10,10  -> viser post 10-20
Avatar billede saison Nybegynder
22. februar 2003 - 17:37 #2
10,20 i nederste...
Avatar billede postndk Nybegynder
22. februar 2003 - 17:38 #3
kig på http://www.sindrem.com ved han har noget liggende ...
Avatar billede postndk Nybegynder
22. februar 2003 - 17:39 #4
saison, lær din syntax, SELECT * FROM ... WHERE ... LIMIT 10,10;

viser 10 poster fra post 10 og frem...
Avatar billede postndk Nybegynder
22. februar 2003 - 17:39 #5
det du skriver, viser fra post 10 -> 30
Avatar billede mortenmj Nybegynder
22. februar 2003 - 17:59 #6
ja ja, det er jeg med på, Select * from highscore order by score desc limit start, interval;
men det er jeg er ude efter er hvordan får jeg scriptet til at forstå at når der er indsat en ny post at så ligger denne nr x i "hirakiret" på highscoren...
Avatar billede nicklasb Nybegynder
22. februar 2003 - 21:06 #7
hvad er det du vil i den sidste kommentar du har skrevet?? Er det når man har spillet, at du så vil have af vide hvilken plads man er kommet på??

for så kan du vel gøre det således:

$result = mysql_query("SELECT * FROM highscore ORDER BY score WHERE point >= '$pointfraspillet'");
$BedreSpillere = mysql_num_rows($result);
$DinPlads = $BedreSpillere+1;
Avatar billede nicklasb Nybegynder
22. februar 2003 - 21:13 #8
hov.. selvfølgelig uden ORDER BY score :)

og listen kan du så lave med en:

<?
$AntalPosterPrSide = 10;
if (!isset($a)) { $a = 0; }
if ($a < 0) { $a = 0; }

$result = mysql_query("SELECT * FROM highscore ORDER BY score desc limit $a, $AntalPosterPrSide");

while($vars = mysql_fetch_array($result)) {
$a = $a+1;
$name = $vars["name"];
$point = $vars["point"];
echo "$a - $name - $point
";
}

Håber det virker, (utestet ;)

/Nicklas B.
Avatar billede nicklasb Nybegynder
22. februar 2003 - 21:16 #9
postndk og swaxi -> Det er IKKE post 10-20 der bliver vist ved det i skriver.. Det er post 11-20.. :)
Avatar billede swaxi Nybegynder
22. februar 2003 - 22:32 #10
nicklasb -> flueknepper
;)
Avatar billede nicklasb Nybegynder
23. februar 2003 - 15:08 #11
kan godt være.. men var også mest ment til postndk, med sine smarte bemærkninger som "lær din syntax". Sådanne skal man ikke komme med hvis man ikke selv gør det.. ;)
Avatar billede mortenmj Nybegynder
13. maj 2003 - 00:29 #12
ingen vil komme med et svar, så jeg beholder selv point'ne
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester