has probao a meter el final del bucle antes del <td>? xD
Código PHP:
<?php
$sql = "SELECT nombre, idcategoria_public FROM categoria_public WHERE idenc='$idcategoria_public' ";
$sql = mysql_query($sql);
while($row = mysql_fetch_array($sql))
{
$nombrecategoria = $row["nombre"];
$idcategoria = $row["idcategoria_public"];
?>
<input name="opcion" type="radio" value="<?php echo $idcategoria; ?>"><?php echo $nombrecategoria; ?>
<? } ?></td>