Я пытаюсь отобразить список имен (из oracle db), которые пользователь может выбрать в качестве своего руководителя в моей форме.
Этот код ниже отображает только одну букву с первого имени в db. например: Первое имя в db – «nanie», но оно отображает только «n».
Пожалуйста, помогите мне исправить этот код.
<?php $sql3= oci_parse($conn,"SELECT stfname FROM staff") or die ('None'); $result3=oci_execute($sql3); $row3 = oci_fetch_array($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>
Вы можете использовать foreach loop while, пока: Co-supervisor:
<?php echo '<select name="cosupervisor">'; while($row3 = oci_fetch_array($sql3,OCI_ASSOC+OCI_RETURN_NULLS)) { $data[] = $row3 ; } foreach($data as $value) { echo '<option value="'.$value['STFNAME'].'">'.$value['STFNAME'].'</option>'; } echo '</select>'; ?> </td> ?> </td>
использовать вместо цикла foreach
<?php $sql3= oci_parse($conn,"SELECT stfname FROM staff") or die ('None'); $result3=oci_execute($sql3); //$row3 = oci_fetch_array($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_array($sql3,OCI_ASSOC+OCI_RETURN_NULLS)) { echo '<option value="'.$row3['stfname'].'">'.$row3['stfname'].'</option>'; } echo '</select>'; ?> </td>