从DB中检索值并在php中的编辑表单的下拉列表中显示

时间:2016-06-02 08:14:31

标签: php

此脚本不会在编辑表单的下拉列表中显示数据库值。

<?php
echo "<select name='assign' value=''><option>Select name</option>";
while ($r = mysql_fetch_array($result)) {
    $value = $r['name'];
    echo "<option value=" . $r['emp_id'] . ">" . $r['name'] . " if ($name=='$value')  echo 'selected = 'selected''></option>";
}
echo "</select>";

它没有显示任何错误。如何以正确的方式书写。

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

       $echoSting = '<select name="assign"><option value="">Select name</option>'.PHP_EOL;
       while($r = mysql_fetch_array($result)) {
          $value=$r['name'];
          $echoSting .= '<option value="'.$r['emp_id'].'" '.($name==$value ? 'selected' : '').'>'.$r['name'].'</option>'.PHP_EOL;
       }
       $echoSting .= '</select>'.PHP_EOL;
       echo $echoSting;

旁注,尝试查看PDO以获取数据库内容:http://php.net/manual/en/book.pdo.php

答案 1 :(得分:1)

试试这个:

echo "<select name='assign' value=''><option>Select name</option>";
                        while($r = mysql_fetch_array($result)) {
                            $value=$r['name'];
                            echo "<option value='.$r['emp_id'].'>'.$r['name'].' "; if ($name=='$value')  echo "selected = 'selected'";echo">$value</option>";
                        }
                        echo "</select>";