Avatar billede sonic_86 Nybegynder
26. april 2003 - 16:58 Der er 8 kommentarer og
1 løsning

Skal skifte billedet tiere?

Hej
Jeg har lavet så den skifter mellem billederne via RAND men kan man ikke gøre så den tiere? Man skal næsten trykke F5 15-20 gange før den skifter :(
$query = mysql_query("SELECT *, RAND() AS random from scooter_billeder where scooter_id = '$id' ORDER BY random LIMIT 1");
Avatar billede nicklasb Nybegynder
26. april 2003 - 17:04 #1
lytter da lige med.. har nemlig lidt samme problem.. ( http://www.eksperten.dk/spm/319701 ). Så ville være rart hvis der var nogle der kunne komme med et svar her.. ;)
Avatar billede schaefner Juniormester
26. april 2003 - 17:06 #2
Du kan lave en session med det billede der blev vist sidste gang, så blive det samme i hvertfald ikke vist lige efter hinanden.
Avatar billede jakoba Nybegynder
26. april 2003 - 17:06 #3
ingen grund til at udtrække rand(9 som om det var et felt.

$query = mysql_query("
    SELECT *
    from scooter_billeder
    where scooter_id = '$id'
    ORDER BY RAND()
    LIMIT 1
");

en enkelt reload skulle være rigeligt. Chancen for så at få et nyt billede afhænger af hvormange billede der er med den ønskede scooter_id. med kun eet billede skifter det aldrig. med to skifter det ca hveranden gang, etc.

mvh JakobA
Avatar billede sonic_86 Nybegynder
26. april 2003 - 17:14 #4
jakoba:
Vil det hjælpe så det skifter tiere?
Avatar billede jakoba Nybegynder
26. april 2003 - 17:26 #5
Det ved jeg ikke. udfra dit spørgsmål burde du få flere billed-skift, det må være en ekstra faktor der påvirker det.
Avatar billede jakoba Nybegynder
26. april 2003 - 17:49 #6
Det kunne være noget med at mysql starter med det samme seed når du ikke specifikt sørger for at det starter med noget andet.

fx:

function gettimeseed(){
        // en lille hjælpefunktion der giver et ret tilfældigt heltal
    list($usec, $sec) = explode(" ",microtime());
    return floor(100 * ( (float)$usec + (float)($sec%100) ) );
}

$setseed = "SELECT RAND( " .gettimeseed() .") as notused";
mysql_query( $setseed ) or die( mysql_error() );

// nu er der blevet sat et startseed for mysql's rand() funktion.

$query = mysql_query("
    SELECT *
    from scooter_billeder
    where scooter_id = '$id'
    ORDER BY RAND()
    LIMIT 1
");

Det er et eksperiment. men prøv
Avatar billede sonic_86 Nybegynder
28. april 2003 - 00:40 #7
Hmm kan ikke få den til at virke :(

Er der andre der har idere til, så den skifter tiere?

Det skal ikke være med session..
Avatar billede sonic_86 Nybegynder
28. april 2003 - 19:18 #8
Ingen der kan hjælpe?
Avatar billede sonic_86 Nybegynder
04. maj 2003 - 00:01 #9
Så lukker jeg
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