Avatar billede jammerlab Nybegynder
09. oktober 2003 - 16:03 Der er 15 kommentarer og
1 løsning

Random fra mysql men ikke det samme!

Ok... jeg har et tal fra 1-10 ... nu skal jeg bruge dem i en random række følge inden i en while loop.... Det må IKKE blive det samme tal... det er fordi jeg har 10 indlæg i en mysql database som jeg så vil hente ud fra mysql'en og gi dem hver et random tal fra 1-10 !!

Nogen der forstod det og kan hjælpe mig? :D
Avatar billede phliplip Nybegynder
09. oktober 2003 - 16:05 #1
Ikke forstået :(
Avatar billede jammerlab Nybegynder
09. oktober 2003 - 16:06 #2
Så det er enlig en random funktion jeg skal bruge som vil fungere i en while loop... :P
Avatar billede jammerlab Nybegynder
09. oktober 2003 - 16:09 #3
Det jeg søger er enlig en random funktion... som tar fra 1-10 i en forskellig række følge uden at det er det samme tal den viser flere gange. I min while loop er det så jeg vil tildele dette tal til et af mine mysql indlæg...

Så vi har en while loop:

$query = mysql_query("select * from lala") or die(mysql_error());
while($row = mysql_fetch_array($query)) {

RANDOM FUNKTIO

mysql_query("update lala set lala")or die (mysql_error());

}
Avatar billede angak Nybegynder
09. oktober 2003 - 16:10 #4
Hvis jeg har forstået korrekt, så vil du ikke have at 2 indlæg har samme nummer, ikke sandt?

Så bliver du nok nødt til at oprette et array med de tal du har fået, og simpelthen vælge et nyt tal hvis det er fundet før...
Avatar billede jammerlab Nybegynder
09. oktober 2003 - 16:14 #5
naa... du misforstår mig. Jeg har 10 indlæg i min database... alle disse 10 har hvert deres ID ... men nu vil jeg gerne gi dem et nyt id i feltet .. lad os sige id2 ... derfor skal de:

(1) hentes ud
(2) tilegenes et random id
(3) opdatere i feltet id2 med det random id

:D
Avatar billede ohmish Nybegynder
09. oktober 2003 - 16:15 #6
hva med bare at hente 10 tilfældige, og printe dem ud med et stigende tal i whileløkken. måske har jeg misforstået..
Avatar billede jammerlab Nybegynder
09. oktober 2003 - 16:18 #7
Det kunne man også gøre...
Avatar billede jammerlab Nybegynder
09. oktober 2003 - 16:19 #8
så må du lige skaffe en random dims i mysql og så sørge for at den aldrig henter den samme ud 2 gange! :D
Avatar billede phliplip Nybegynder
09. oktober 2003 - 16:23 #9
SELECT DISTINCT * FROM tabel ORDER BY rand()
Avatar billede ohmish Nybegynder
09. oktober 2003 - 16:24 #10
$hent = mysql_query("SELECT *, RIGHT(RAND(), 4) AS r FROM tabellen ORDER BY r DESC LIMIT 0,10");
while ($vis = mysql_fetch_array($hent)) {
$id = $vis['id'];
$nytid = rand(1,99999999);
mysql_query("UPDATE tabellen SET id='$nytid' WHERE id='$id'");
echo "$id er nu blevet til $nytid<br>";
}
Avatar billede ohmish Nybegynder
09. oktober 2003 - 16:27 #11
der tages ikke højde for id der findes i forvejen, men det kan fixes
Avatar billede jammerlab Nybegynder
09. oktober 2003 - 16:28 #12
Jamen det er jo det problem jeg har :) Kender godt random funktionen i mysql hehe :P
Avatar billede phliplip Nybegynder
09. oktober 2003 - 16:31 #13
SELECT DISTINCT fixer det :)
Avatar billede jammerlab Nybegynder
09. oktober 2003 - 16:32 #14
@.@ hvor ? :)
Avatar billede phliplip Nybegynder
09. oktober 2003 - 16:39 #15
^^ 09/10-2003 16:23:50
Avatar billede jammerlab Nybegynder
09. oktober 2003 - 16:48 #16
hehe smukt tester lige :P
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