My apologies for the large email, but I wanted to include all the source code for interested folks and thank everyone who provided suggestions for implementing "hot or not"-like functionality. Here is what I ended up doing. I've stripped out alot of the formatting to make it as readable as possible, but it's a little messy. Tried to comment it to help you see what is going on. Basically, it builds a comma separated list of images that have been rated and using "NOT IN" in the query, gets a random one that hasn't been seen yet. Feel free to contact me off list if you want to see the beta page that implements this. Matt ------------------------------------------------------------------------------- <?php @ $conn = getDBConn(); $total_num_rows = 4; // number of rows in table -- will not stay static, but for beta, just make it 4 @ $action = $_POST['action']; //set by the form; if ($action == "rateIt") { @ $excludeList = $_POST['excludeList']; // comma-separated list of ID's; passed as a hidden form field @ $rating = $_POST['rating']; // the user-submitted rating @ $honID = $_POST['honID']; //the ID for the image; passed as a hidden form field $query = "update hotornot set numVotes=numVotes+1, pointTotal=pointTotal+".$rating." where honID=" . $honID; $result_rateIt = mysql_query($query); //get last image plus statistics $query = "select image, numVotes, pointTotal from hotornot where honID=" . $honID; $result_getLastPic = mysql_query($query); $row = mysql_fetch_array($result_getLastPic); $lastImage = $row['image']; $lastNumVotes = $row['numVotes']; $lastPointTotal = $row['pointTotal']; } else { $excludeList = "0"; // reset or for first time visitor -- must init it as a 0, otherwise db error if empty } //get new image $query = "select honID, image from hotornot where honID not in (" . $excludeList . ") order by rand() limit 1"; $result_getPic = mysql_query($query); $row = mysql_fetch_array($result_getPic); $image = $row['image']; $noMoreImages = FALSE; if (!$image) { // identifies that query as not finding an image, which means it was the last image $noMoreImages = TRUE; } $honID = $row['honID']; if ($action == "rateIt") { ?> <!-- this is the "Last Image" table, shows the one the user just rated and it's statistics --> <TABLE bgcolor="#9999CC"> <tr> <td align=center><?php echo round($lastPointTotal/$lastNumVotes,1); ?><br> based on <?php echo $lastNumVotes;?> votes<br> You rated it: <?php echo $rating; ?> <br> <img src="hotornot/<?php echo $lastImage; ?>" width=80 height=80 border=0 vspace=2 hspace=2> </td> </TR> </TABLE> <?php } else { //else, the user just started and there is no "Last Image" box to show echo '<img src="images/dot-white.gif" alt="" width="110" height="1" border="0">'; } ?> <form action="hotornot.php" method="post" target="_top"> <TABLE border="0" width="340" bgcolor="#FFFFFF" cellpadding="0" cellspacing="0"> <?php if ($noMoreImages) { echo '<TR><TD><A HREF="hotornot.php">Start Over</A></TD></TR>'; } else { ?> <TR> <TD colspan="12"><BR><div align="center"><h3>Rate from 1 through 10 to see the next picture</h3></div><BR></TD> </TR> <TR> <TD></TD> <!-- Horizontal array of radio buttons for the user to click. Clikcing on one immediately submits the form with the onclick events. --> <td bgcolor=#204080><div align="center"><input type=radio name=rating value=1 onclick="this.form.submit()"><BR><font size=1 color="#FFFFFF">1</font></div></td> <td bgcolor=#202F70><div align="center"><input type=radio name=rating value=2 onclick="this.form.submit()"><BR><font size=1 color="#FFFFFF">2</font></div></td> <td bgcolor=#3F2060><div align="center"><input type=radio name=rating value=3 onclick="this.form.submit()"><BR><font size=1 color="#FFFFFF">3</font></div></td> <td bgcolor=#5F2050><div align="center"><input type=radio name=rating value=4 onclick="this.form.submit()"><BR><font size=1 color="#FFFFFF">4</font></div></td> <td bgcolor=#7F1F4F><div align="center"><input type=radio name=rating value=5 onclick="this.form.submit()"><BR><font size=1 color="#FFFFFF">5</font></div></td> <td bgcolor=#90103F><div align="center"><input type=radio name=rating value=6 onclick="this.form.submit()"><BR><font size=1 color="#FFFFFF">6</font></div></td> <td bgcolor=#B0102F><div align="center"><input type=radio name=rating value=7 onclick="this.form.submit()"><BR><font size=1 color="#FFFFFF">7</font></div></td> <td bgcolor=#CF0F1F><div align="center"><input type=radio name=rating value=8 onclick="this.form.submit()"><BR><font size=1 color="#FFFFFF">8</font></div></td> <td bgcolor=#E0000F><div align="center"><input type=radio name=rating value=9 onclick="this.form.submit()"><BR><font size=1 color="#FFFFFF">9</font></div></td> <td bgcolor=#F00000><div align="center"><input type=radio name=rating value=10 onclick="this.form.submit()"><BR><font size=1 color="#FFFFFF">10</font></div></td> <TD></TD> </tr> <input type=hidden name="honID" value="<?php echo $honID; ?>"> <?php $excludeList = $excludeList . "," . $honID; //add the current image/row to the excludelist so you don't get duplicates until you cycle all the way through all the images ?> <input type="hidden" name="excludeList" value="<?php echo $excludeList; ?>"> <input type=hidden name="action" value="rateIt"> </form> <TR><TD colspan="12"><div align="center"> <!-- here is the new image to rate --> <IMG src="hotornot/<?php echo $image; ?>" width="250" height="250" border="1"></div> <?php } //end no more images check ?> </TD> </TR> </TABLE> -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php