I have 2 drop down boxes, populated with results from the database.
It works fine as written, but I know it could be simpler. In order to get the data for the second box, I select it again from the db.
How would I put the data in an array the first time, and just list it again at the second box?
Or, in other words, how do I reset the pointer on mysql_fetch_array($colorlist)) ?
// pick colors for color1 select box
$colorlist = mysql_query("SELECT " .
"color " .
" FROM availColorRel, colors " .
" WHERE availColorRel.relprodId = '$prodId' " .
"AND availColorRel.relcolorId = colors.colorId " .
" ORDER by color ") or die ("\n\n colorlist Select failed " . mysql_error());
if (mysql_num_rows($colorlist)==0) {
//no results
$cartlink .='No Colors found for this product</td>';
} else {
$cartlink .= '<select name=\'color1\' color=\'1\'>';
while ($colorN = mysql_fetch_array($colorlist)) {
$color = $colorN["color"];
$cartlink .= '<option value=\''.$color.'\'>'.$color ;
}
$cartlink .='</select></td>';
}
// pick colors for color2 select box
//2nd time to db - should'nt have to
$colorlist = mysql_query("SELECT " .
"color " .
" FROM availColorRel, colors " .
" WHERE availColorRel.relprodId = '$prodId' " .
"AND availColorRel.relcolorId = colors.colorId " .
" ORDER by color ") or die ("\n\n colorlist Select failed " . mysql_error());
$cartlink .='<td>';
if (mysql_num_rows($colorlist)==0) {
//no results
$cartlink .='No Colors found for this product</td>';
} else {
$cartlink .= '<select name=\'color2\' color=\'1\'>';
while ($colorN = mysql_fetch_array($colorlist)) {
$color = $colorN["color"];
$cartlink .= '<option value=\''.$color.'\'>'.$color ;
}
$cartlink .='</select></td>';
}