Avatar billede SimonBStoevring Nybegynder
15. december 2010 - 15:04 Der er 2 kommentarer og
1 løsning

MySQL vælg enheder før og efter

Hej,

Jeg har et leaderboard, hvorfra jeg henter én bruger, A, ud. Når A er hentet, vil jeg gerne hente de 30, som ligger over og de 30 som ligger under A.

Databasen gemmer kun brugerens navn, deres køn og deres rating. Den skal altså hente A ud, hvorefter den finder de 30 som ligger under og over A - men har samme køn.

Kan dette gøres med en simpel MySQL forespørgsel, eller skal jeg godt nok til at smide alle ind i et array og vælge dem ud derfra? Det vil være meget ressourcekrævende, tror jeg.

Jeg håber, at nogen kan hjælpe mig.
Avatar billede SimonBStoevring Nybegynder
15. december 2010 - 15:14 #1
Faktisk er det nok for mig at hente en tilfældig mængde på 61 ud. Det kan derfor gøres sådan her.

$connect_user_num = mysql_query("SELECT id FROM user WHERE sex = 'female'");
$num = mysql_num_rows($connect_user_num);

$i = 1;
$connect_user = mysql_query("SELECT * FROM user WHERE sex = 'female' ORDER BY rating,RAND() LIMIT " . rand(0,$num) . ",61");
while($user = mysql_fetch_array($connect_user)) {
    echo $i . '. ' . $user['name'] . ' (' . round($user['rating']) . ')<br />';
    $i++;
}
Avatar billede majbom Novice
15. december 2010 - 19:15 #2
hvis du fik løst din opgave, så husk at lukke spørgsmålet...
Avatar billede SimonBStoevring Nybegynder
15. december 2010 - 20:09 #3
Hov ja, undskyld!
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