$html="<select name='cpu'>
while($row=mysql_fetch_array($result))
{
$html .= "<option>" . $row['product'] . "</option>";
}
$html .= "</select>";
The first line should read
$html="<select name='cpu'>";
That way the while loop is outside of the quotes, and simply appends to the string contained in $html every time.
Alternatively, you could just print each time, which is how i normally approach this problem:
print("<select name='cpu'>");
while($row=mysql_fetch_array($result))
{
print("<option>" . $row['product'] . "</option>");
}
print("</select>");