【问题标题】:Dynamically set default value to drop-down menu from SQL query result从 SQL 查询结果动态设置默认值到下拉菜单
【发布时间】:2015-02-11 05:40:57
【问题描述】:

提前致谢

我正在使用 PHP 的 codeIgniter 工作,我有一个下拉菜单,我需要将 MySQL 查询返回的元素显示为默认值,并从下拉菜单中显示其他选项。

在填充下拉菜单时,我需要它,默认选项是从数据库中提取的,并显示另一个选项。 我该如何实施?谢谢 示例:

  <td>
   <select name = "os">
     <?php 
         $item = $requests->OS;
         $oses = array(
                'Windows Server 2008',
                'Ubuntu Server',
                'Windows Server 2003'
                );   
             foreach($oses as $os=>$d){
                    echo'<option>'.$os.'</option>';
             }
     ?>
            `enter code here`</select>
        </td>

【问题讨论】:

    标签: php html codeigniter


    【解决方案1】:

    我不确定您的$item 是什么(字符串、数组、对象?),但只需在此处添加一些条件:

    $os_id = 0;
    foreach($oses as $os=>$d){
      $os_id++;
      if ($item == $os) {
        echo'<option selected value="'.$os_id.'">'.$os.'</option>';    
      } else {
        echo'<option value="'.$os_id.'">'.$os.'</option>';
      }
    }
    

    【讨论】:

    • 谢谢,我的数组是一个名为 result 的字符串数组,所以我得到了这样的操作系统 $result->OS;我将尝试一下,看看它是否对我有用。就1个问题,什么是$os_id;
    • 仍然默认加载数组中的第一个元素,而不是 SQL 查询返回的内容!
    • 所以你没有回答我的问题,你的$item是什么?执行var_dump($item); 并告诉我输出是什么。 $os_id - 只是简单的值,因为您必须为每个选项使用一些值。你可以设置任何你需要的。
    • 什么都不显示!我正在使用 $item = $request->OS;获取存储在数据库中的操作系统,操作系统是数据库中的一个表字段。从我的控制器中,我在模型中调用了一个方法,该方法返回一个数组,其中包含用户选择的所有操作系统,在我看来,我需要在下拉菜单中显示该数组具有的所有操作系统,但从数据库中选择一个
    • blah-blah-blah...太多的话,但没有任何帮助。所以如果你的$item没有设置,因为即使是NULL也必须被var_dump转储。我们可以在这里停下来。你没有很好地处理你的脚本,必须从头开始。调试并找到您丢失工作流程的位置。您发布的代码仅显示您设置了具有 3 个元素的新数组,并根据该数组中的值生成 select 输入。没有其他的。你的$item = $requests-&gt;OS; 做什么或必须做什么 - 我不知道,你没有帮我弄清楚。
    猜你喜欢
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 2019-12-28
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    相关资源
    最近更新 更多