Deberias hacer la consulta fuera del select:
Código PHP:
<tr>
<td>Categoria</td>
<td>
<?php
$q = "SELECT * FROM Categoria";
$result = mysql_query($q) or die ($error_sel); //aqui tu funcion consulta
if (mysql_num_rows ($result)> 0){
echo "<select name='ncategoria'>";
echo "<option value=''selected> --Seleccione una opción-- /option>";
while($row = mysql_fetch_array($result)) {
echo "<option value=".$row["id"].">".$row['categoria']."</option>"; }
echo "</select>";
}
?>
</td>
</tr>
Espero que te sirva... Cualquier duda no tardes en comentar.
Saludos