Avatar billede tupsy Nybegynder
27. februar 2002 - 19:48 Der er 4 kommentarer

Vægtning af random udtræk..

Jeg har følgende :

$query = mysql_query("SELECT id, overskrift, vits, navn, stemmer, ((id*0)+rand()) AS RandomID FROM konfvits ORDER BY RandomID LIMIT 0, 1");
$visvitsen = mysql_fetch_array($query);

Kan man lave det sådan at der er større sansynlighed for at den vælger en med et lavt tal i kolonnen "stemmer"
Altså så den med færreste antal stemmer har større vægtning end den med mange stemmer..

Håber I forstår.. Ellers spørg lige...

Tupsy!!
Avatar billede invisibleman Nybegynder
27. februar 2002 - 20:02 #1
Hmm .. har du prøvet en ORDER BY stemmer ASC, RAND()

(kan ikke se nogen grund til at lave en (id*0)+rand() ..)
Bare et foreslag .. har ikke prøvet det i praksis
Avatar billede cyberdude Nybegynder
27. februar 2002 - 21:29 #2
invisibleman -> hi!
Grunden til den "trælse" måde at lave et random udtræk på er fordi vi har en "gammel" vertion af mysql instaleret på serveren, og den understytter ikke RAND() :-((
Nu spørger du så nok om hvorfor jeg kommer med denne oplysning... og det er fordi at tupsy vedligeholder et par websites for en kunde og jeg har et par andre for samme kunde så vi operere på samme server :-))

tupsy -> jeg vil tro at du kan lave en
$query = mysql_query("SELECT id, overskrift, vits, navn, stemmer, ((id*0)+rand()) AS RandomID FROM konfvits ORDER BY stemmer, RandomID LIMIT 0, 1");

er ikek 100% sikekr på at man kan have flere ting man ordre det efter, men hvis du endnu ikek har prøvet denne så prøv :-)
Avatar billede invisibleman Nybegynder
27. februar 2002 - 21:33 #3
Hvis serveren ikke understøtter RAND() så forklar mig venligst ((id*0)+rand()) AS RandomID .. ?

Btw ... opgradér serveren ?
Avatar billede cyberdude Nybegynder
27. februar 2002 - 21:58 #4
invis... -> dette her er hvad jeg har fra hosten :
-- snip ---
Problemet består i at den ver. af MySql der er på serveren er for gammel :-( og dermed ikke understytter en simpen "order by rand()" funktion
--- snap ----
men det andet funger fino... det der funger er hjælp fra tidligere spørgsmål her på E.....
Vi kan ikek få mysql opdateret.. det vil være for bøvlet blot at opdatere mysql, da det skal gøres manuelt, og når der så kommer ny ver. af de andre ting på serveren, skal det også instaleres manuelt....
det er en debian server det hele køre på, og der er den sidste stabel ver. af myslq ver. 3.22.32 som lige i starten af 2001, og siden er der ikek frigivet nogen pakker med nyere mysql til debian :-((

Vi håber der måtte komme en inden så forfærtlig længe, så den kan blive opdateret
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
Computerworld tilbyder specialiserede kurser i database-management

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