Primero haces la consulta a la base de datos:
Código PHP:
<?php
require_once ('datos_conexion.php');
mysql_select_db($database_conexion, $conexion);
$query_Recordset1 = "select * from curso";
$Recordset1 = mysql_query($query_Recordset1, $conexion) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
Y luego llenas el combo
Código PHP:
<select name="select">
<?php
do {
?>
<option value="<?php echo $row_Recordset1['idcurso']?>"> <?php echo $row_Recordset1['nombre']?> </option>
<?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
Ahora para que el combo te muestre lo que fue seleccionado en un inicio, debe de coincidir con algun dato de la base de datos, en ese ejemplo sera que el valor del combo coincida con el valor de el campo "idcurso" de nuestra bd imaginaria:
Código PHP:
<select name="select">
<?php
do {
?>
<option value="<?php echo $row_Recordset1['idcurso']?>"<?php if (!(strcmp($row_Recordset1['idcurso'], $row_Recordset1['idcurso']))) {echo "selected=\"selected\"";} ?>><?php echo $row_Recordset1['nombre']?></option>
<?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
?>
</select>
date cuenta que entre el value del combo y su etiqueta se agrega un strcmp y si coincide se escribe la etiqueta html selected.
Espero te sirva
Saludos