Avatar billede djthomas Nybegynder
01. december 2003 - 22:07 Der er 7 kommentarer og
1 løsning

Hvordan kan jeg vælge frit i et array?

Hej...

Jeg skal lave et system der via en randum skal vælge en værdig i et array, som jeg har trukket ud af en Mysql database. Men det jeg har gjort virker desværre ikke. Nogen der kan se hvad jeg gør forkert?

$ant = mysql_query("SELECT id FROM chicks");
                        $pic_num = mysql_num_rows($ant);
                       
                $sqlArr = mysql_query("SELECT id, id AS sort_id FROM chicks");   
                $arr = mysql_fetch_array($sqlArr);   
                    $nr = rand(1, $pic_num);
                $pic_id = $arr[$nr];
Avatar billede detox Nybegynder
01. december 2003 - 22:31 #1
Måske sådan:

$ant = mysql_result(mysql_query("SELECT count(*) FROM chicks"),0);
$rand = mt_rand(0, $ant-1);
$pic_id = mysql_result(mysql_query("SELECT id FROM chicks limit $rand,1"),0);
Avatar billede detox Nybegynder
01. december 2003 - 22:36 #2
Eller, hvis du skal bruge alle dine id's:

$ant = mysql_query("SELECT id FROM chicks");
$pic_num = mysql_num_rows($ant);
$rand = mt_rand(0, $pic_num-1);
$pic_id = mysql_result($ant,$rand);
Avatar billede djthomas Nybegynder
01. december 2003 - 22:38 #3
Lige nøjagtig..... Gider du at svare så er du 15 P rigere....
Avatar billede detox Nybegynder
01. december 2003 - 22:39 #4
Jeps ;o)
Avatar billede djthomas Nybegynder
01. december 2003 - 22:42 #5
Hey nej Detox det er egentlig stadig ikke rigtigt.... For problemet opstår hvius der er slettet et id i midten af arrayet.... Så fucker den på i det....
Avatar billede djthomas Nybegynder
01. december 2003 - 22:44 #6
Der bliver nemlig nogle gange slettet nogle data, så man kan ikke være sikker på at hvis der samlet er 1000 id'er så kan det højeste id godt være 1023
Avatar billede detox Nybegynder
01. december 2003 - 22:47 #7
Næ, det skulle ikke være et problem, da de eksempler jeg har vist udtrækker id fra en tilfældig (eksisterende) række.
Avatar billede detox Nybegynder
01. december 2003 - 22:49 #8
Så det kunne eksempelvis godt være 1023, selvom der kun er 1000 rækker.
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