Crea un elenco a discesa dal valore nel database php

Sto cercando di visualizzare un elenco di nomi (da oracle db) che l'utente può scegliere come supervisore nel mio module.

Questo codice qui sotto mostra solo una lettera dal nome in db. ad esempio: il nome in db è 'nanie', ma visualizza solo 'n'.

Per favore aiutami a correggere questo codice.

<?php $sql3= oci_parse($conn,"SELECT stfname FROM staff") or die ('None'); $result3=oci_execute($sql3); $row3 = oci_fetch_arrays($sql3,OCI_ASSOC+OCI_RETURN_NULLS); echo $row3['STFNAME']; ?> <td><strong>Co-supervisor : </strong></td> <td width="309"> <?php echo '<select name="cosupervisor">'; foreach($row3 as $value) { echo '<option value="'.$value['STFNAME'].'">'.$value['STFNAME'].'</option>'; } echo '</select>'; ?> </td> 

    È ansible utilizzare foreach loop through mentre: Co-supervisore:

      <?php echo '<select name="cosupervisor">'; while($row3 = oci_fetch_arrays($sql3,OCI_ASSOC+OCI_RETURN_NULLS)) { $data[] = $row3 ; } foreach($data as $value) { echo '<option value="'.$value['STFNAME'].'">'.$value['STFNAME'].'</option>'; } echo '</select>'; ?> </td> ?> </td> 

    utilizzare while invece di ciclo foreach

     <?php $sql3= oci_parse($conn,"SELECT stfname FROM staff") or die ('None'); $result3=oci_execute($sql3); //$row3 = oci_fetch_arrays($sql3,OCI_ASSOC+OCI_RETURN_NULLS); //echo $row3['STFNAME']; ?> <td><strong>Co-supervisor : </strong></td> <td width="309"> <?php echo '<select name="cosupervisor">'; while($row3 = oci_fetch_arrays($sql3,OCI_ASSOC+OCI_RETURN_NULLS)) { echo '<option value="'.$row3['stfname'].'">'.$row3['stfname'].'</option>'; } echo '</select>'; ?> </td>