26. maj 2007 - 12:42
Der er
12 kommentarer og 2 løsninger
flere random tal
Hej eksperter Hvordan finder man eksempelvis 3 random tal, hvis man har et array med X antal tal?
Annonceindlæg fra Barco
Er jeres mødelokaler sikre nok?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Man benytter fucktionen rand() som nøgle når du laver udtrækket fra dit array
//$talraekke er dit array med tal $x=0; $randkey = array(); while($x<3){ $randkey[] = $talraekke[rand(0,count($talraekke))]; $x++; } tror nok det virker , men har ikke testet det
Man kunne også bruge shuffle() og så trække de første 3 tal ud af arrayet.
det er også en mulighed, men så ændrer du jo også i array'et
Ja, men det har ingen jo sagt man ikke måtte! :o)
Ok, nu har jeg fundet ud af det, takker begge to:) Svar så er der points.
Svar! PS: Du må gerne vise din løsning.
Der er faktisk ret stor forskel på de to løsninger. Ved den første kan samme tal udtrækkes flere gange, det kan det ikke i den anden
function randKatPic(){ if(!isset($_GET['subkat'])){ if($_GET['hovedkat'] == 14){ $subkat = 54; } else if($_GET['hovedkat'] == 15){ $subkat = 56; } else if($_GET['hovedkat'] == 16){ $subkat = 55; } } else if(isset($_GET['subkat'])){ $subkat = $_GET['subkat']; } print "<table width='100%' border='1' cellspacing='0' cellpadding='0'> <tr>"; $sql = "SELECT * FROM produktkategorisub WHERE produktKategoriId = ".$_GET['subkat'].""; print $sql; $result = mysql_query($sql); $arr = mysql_fetch_array($result); //while($arr = mysql_fetch_array($result)){ $sql2 = "SELECT * FROM produktikat WHERE kategoriId = ".$arr['produktKategoriSubId']." ORDER BY RAND() LIMIT 3"; $result2 = mysql_query($sql2); //} while ($arr2 = mysql_fetch_array($result2)){ print "<br>"; print $arr2['produktId']."<br>"; } print" <td>billede1</td> <td>billede2</td> <td>billede3</td> </tr> </table>"; }
Den skal så lige sættes til at vise billeder:)
Måske din funktion kunne laves sådan her: function randKatPic() { if(is_numeric($_GET['subkat'])) { $subkat = intval($_GET['subkat']); } else { switch($_GET['hovedkat']) { case 14: $subkat = 54; break; case 15: $subkat = 56; break; case 16: $subkat = 55; break; default: //ERROR!!! break; } } echo '<table width="100%" border="1" cellspacing="0" cellpadding="0"><tr>'; $sql = "SELECT * FROM produktkategorisub WHERE produktKategoriId = ".$subkat.""; echo $sql; $result = mysql_query($sql); $arr = mysql_fetch_array($result); $sql2 = "SELECT * FROM produktikat WHERE kategoriId = ".$arr['produktKategoriSubId']." ORDER BY RAND() LIMIT 3"; $result2 = mysql_query($sql2); while ($arr2 = mysql_fetch_array($result2)) { echo '<br>' . $arr2['produktId'] . '<br>'; } echo '<td>billede1</td><td>billede2</td><td>billede3</td></tr></table>'; }
Vi tilbyder markedets bedste kurser inden for webudvikling