【问题标题】:Retrieve value from DB and display in a drop down on edit form in php从数据库中检索值并显示在 php 中的编辑表单的下拉列表中
【发布时间】:2016-06-02 08:14:30
【问题描述】:

此脚本不会在编辑表单的下拉菜单中显示 DB 值。

<?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>";

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

【问题讨论】:

标签: php


【解决方案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

【讨论】:

  • 在您的代码中,选择的值不会在字段中作为结果回显,如何将其作为选择值回显?
  • 假设变量 $name 与数据库中的值匹配,它应该被选中,你可以发布以下结果:while($r = mysql_fetch_array($result)) { print_r($r ); }
  • 它已将正确的值识别为已选择,但未在字段中打印,
  • 选项被选中了吗?
  • 未选择选项
【解决方案2】:

试试这个:

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>";

【讨论】:

  • value='.$r['emp_id'].'>'.$r['name'].'附近有语法错误";
猜你喜欢
  • 2019-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
  • 2013-09-10
相关资源
最近更新 更多