I have image URLs in my MySQL database and a boolean field named random that flags some of the images (with a 1) as being OK to display randomly on a page. I want to choose 8 random images from my database that are flagged AND none of the 8 images should repeat either. I read about SELECT * FROM table ORDER BY RAND() LIMIT 0,1 and tried to use that but I only get Warnings or Resource id#3. Here is the last thing I tried.
$sql="SELECT pic_number, pic_field2, pic_field3, pic_field4, pic_field5, pic_field6 FROM mytable WHERE random = 1 ORDER BY RAND() LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
$rnpic1=$row['pic_number'];
$mpicf21=$row['pic_field2'];
$mpicf31=$row['pic_field3'];
$mpicf41=$row['pic_field4'];
$mpicf51=$row['pic_field5'];
$mpicf61=$row['pic_field6'];
do {
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
while ($row['pic_number']<>$rnpic1);
}
$rnpic2=$row['pic_number'];
$mpicf22=$row['pic_field2'];
$mpicf32=$row['pic_field3'];
$mpicf42=$row['pic_field4'];
$mpicf52=$row['pic_field5'];
$mpicf62=$row['pic_field6'];
do {
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
while ($row['pic_number']<>$rnpic1 and $row['pic_number']<>$rnpic2);
}
$rnpic3=$row['pic_number'];
$mpicf23=$row['pic_field2'];
$mpicf33=$row['pic_field3'];
$mpicf43=$row['pic_field4'];
$mpicf53=$row['pic_field5'];
$mpicf63=$row['pic_field6'];
do {
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
while ($row['pic_number']<>$rnpic1 and $row['pic_number']<>$rnpic2 and $row['pic_number']<>$rnpic3);
}
$rnpic4=$row['pic_number'];
$mpicf24=$row['pic_field2'];
$mpicf34=$row['pic_field3'];
$mpicf44=$row['pic_field4'];
$mpicf54=$row['pic_field5'];
$mpicf64=$row['pic_field6'];
do {
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
while ($row['pic_number']<>$rnpic1 and $row['pic_number']<>$rnpic2 and $row['pic_number']<>$rnpic3) and $row['pic_number']<>$rnpic4);
}
$rnpic5=$row['pic_number'];
$mpicf25=$row['pic_field2'];
$mpicf35=$row['pic_field3'];
$mpicf45=$row['pic_field4'];
$mpicf55=$row['pic_field5'];
$mpicf65=$row['pic_field6'];
do {
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
while ($row['pic_number']<>$rnpic1 and $row['pic_number']<>$rnpic2 and $row['pic_number']<>$rnpic3) and $row['pic_number']<>$rnpic4) and $row['pic_number']<>$rnpic5);
}
$rnpic6=$row['pic_number'];
$mpicf26=$row['pic_field2'];
$mpicf36=$row['pic_field3'];
$mpicf46=$row['pic_field4'];
$mpicf56=$row['pic_field5'];
$mpicf66=$row['pic_field6'];
do {
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
while ($row['pic_number']<>$rnpic1 and $row['pic_number']<>$rnpic2 and $row['pic_number']<>$rnpic3) and $row['pic_number']<>$rnpic4) and $row['pic_number']<>$rnpic5) and $row['pic_number']<>$rnpic6);
}
do {
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
while ($row['pic_number']<>$rnpic1);
}
do {
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
}
while ($row['pic_number']<>$rnpic1);