Non sono sicuro di aver capito bene, comunque forse devi semplicemente controllare se il valore che recuperi da DB è uguale ad uno dei valori che assegni all'attributo "value" dei tag <option> oppure al contenuto del tag stesso (nel caso in cui non usi l'attributo value).
Il controllo è una cosa del tipo:
Codice PHP:
$query = "SELECT campo1,campo2,campo_select FROM tabella WHERE cond = 'value'";
$result = mysql_query($query,$conn);
while ($array = mysql_fetch_assoc($result)) {
echo "<select name=\"select_name\">";
$selected = ($array['campo_selected'] == 'valore1')? "selected=\"selected\"" : "";
echo "<option value=\"valore1\" $selected>Prima Opzione</option>";
$selected = ($array['campo_selected'] == 'valore2')? "selected=\"selected\"" : "";
echo "<option value=\"valore2\" $selected>Secpnda Opzione</option>";
$selected = ($array['campo_selected'] == 'valore3')? "selected=\"selected\"" : "";
echo "<option value=\"valore3\" $selected>Terza Opzione</option>";
// e così via
echo "</selected>";
}
Solo qualche appunto pero':
- in questo modo ti viene stampato un form per ogni record tirato fuori dalla query, quindi in realtà (in generale) ha senso se la query ha una condizione where che tira fuori un solo record (quindi un controllo sull'ID ad esempio).
- chiaramente conviene scrivere il "select" e le sue "option" utilizzando un ciclo se è possibile, per snellire il codice.
Non so se ciò che ti interessava fosse questo.
Ciao