Shu!
I am currently working on a site where I want to randomly show pictures. I am using 
sessions to save the id's of the pictures that a user has seen during his/hers visit. 
My first question is: Can I use an array as a session variable? like this:
$arr = array(1, 2, 3, 4, 5);
session_start();
session_register("arr");

This array is to be passed on as an argument to a function used to find a random id, 
that has not yet been seen. This array should be compared to another array with the 
picture id's. There is two functions to accomplish the following: Create a randomized 
array consisting of all the pictures id. Find one id in that randomized array that 
does not exist in the array of allready seen pictures. These are the functions:

function show_pic($pics_voted, $cat, $sex) {
 srand ((double) microtime() * 1000000);
 $result = query("SELECT id FROM $cat WHERE sex='$sex'");
 while ($row = mysql_fetch_row($result)) {
  $arr[] = $row[0];
 }
 shuffle($arr);
 $picture_id = find_id($pics_voted, $arr);
 echo "picture_id => $picture_id";
 return $picture_id;
}//show_pic


//Hitta id som inte finns bland $pics_voted[]
function find_id($pics_voted, $random, $x = 0) {
 for ($i = 0; $i < count($pics_voted); $i++) {
  if ($random[$x] == $pics_voted[$i] AND $x >= count($random)) return "no_pics"; //If 
current key in $random[] is equal to current key in $pics_voted[] AND $x is greater 
than, or equal to the number of keys in $random[], that is if the last key in 
$random[] has been reached, return "no_pics"
  elseif ($random[$x] == $pics_voted[$i]) {
   find_id($pics_voted, $random, $x+1); //If current key in $random[] is equal to 
current key in $pics_voted[] run the function again, with $x+1 as an argument to be 
used in the $random[] array, that is: do the funtion again with the next key in 
$random[]
  }//elseif
 }//for
 return $random[$x];

}//find_id


Does anyone know why this ain't working? I get the same id over and over again. Maybe 
there is an easuer way to achive what I want?
Please help!!

Reply via email to