Kevin, thank you! I see you're from Montreal...if you're ever in Ottawa let me know, I owe you a beer!
The final solution (for those following along) is this:
1) Generate the SELECT's from the database like kevin suggested:
print "<FORM NAME=\"column_org\" METHOD=\"POST\" ACTION=\"prefs.php\">\n";
print "<INPUT TYPE=\"hidden\" NAME=\"x\" VALUE=\"update_column_org\">\n";
$query = "SELECT ucp.active,ucp.id,cl.id,cl.name,cl.type FROM content_list AS cl, user_content_prefs AS ucp WHERE ucp.active=cl.id AND ucp.user='$userID'";
$q = mysql_query("$query") or die (mysql_error());
while(list ($active,$ucpid,$cid,$cname,$ctype) = mysql_fetch_array($q)) {
print "$cname: <SELECT NAME=\"abc[]\">\n";
if ($ctype == "1") {
print "<OPTION VALUE=\"$ucpid|1\">Column 1</OPTION>\n";
print "<OPTION VALUE=\"$ucpid|3\">Column 3</OPTION>\n";
}
elseif ($ctype == "2") {
print "<OPTION VALUE=\"$ucpid|2\">Column 2</OPTION>\n";
}
print "</SELECT><br>\n";
}
mysql_free_result($q);
print "<br><INPUT TYPE=\"submit\" VALUE=\"Next >>\">\n</FORM>";
Then, split the data in a while loop once it's been submitted and send it to the db one row at a time:
while (list($key, $value) = each ($abc)) {
$data = split("[\\|]",$value);
$query = "UPDATE user_content_prefs SET col='$data[1]' WHERE id='$data[0]'";
$q = mysql_query("$query") or die (mysql_error()); }
This does exactly what I needed it to do! Again, thanks, kevin!