codeigniter下拉列表从数据库中选择数据

时间:2015-01-29 11:24:47

标签: codeigniter

<select class="form-control">
            <?php
              $flag=0;
              foreach ($result as $row) { ?>

              if(flag==0)
              {
                 <option value="<?php echo $row->tbl_group_id; selected="selected"?>" ><?php echo $row->tbl_group_rolename; ?></option>
               flag=1;
               }
               else
               {
                 <option value="<?php echo $row->tbl_group_id;?>" ><?php echo $row->tbl_group_rolename; ?></option>
                }
              } ?>

                <option value="name">One</option>
                <option value="email">Two</option>
                <option value="three">Three</option>
                <option value="four">Four</option>
                <option value="five">Five</option>
            </select>

我有一个下拉框(在登录页面上),我必须从我的数据库中获取所有数据,并且必须动态显示。

我的表单是以引导方式创建的。 我希望所有数据都来自表格,动态地在下拉列表中以及当我选择它时;我可以注册为该人,例如admin / user。

到目前为止我一直没有尝试过;我脑子里什么都没有。

2 个答案:

答案 0 :(得分:0)

首先,您必须修复PHP的开始和结束标记。这是必要的,因为否则PHP解释器不知道要评估什么。

其余的非常简单。我将$flag更改为布尔值,以检查当前条目是否是第一个条目,因此应该被选中。我还删除了重复的代码,并引入了if,为第一个选项输出selected="selected"

<select class="form-control">
    <?php
    $first=true; // Used to select the first element
    foreach ($result as $row): /* everything between here and 'endforeach' is part of the loop */ ?>
        <option value="<?php echo $row->tbl_group_id ?>" <?php if ($first) echo 'selected="selected"' ?>>
            <?php echo $row->tbl_group_rolename ?>
        </option>
        <?php if ($first) $first = false /* this makes sure that only one option element is selected */ ?>
    <?php endforeach ?>
    <option value="name">One</option>
    <option value="email">Two</option>
    <option value="three">Three</option>
    <option value="four">Four</option>
    <option value="five">Five</option>
</select>

循环遍历行。请注意,foreach语句之后的冒号使用替代语法,如果与HTML混合使用,则更容易阅读:

<?php foreach ($result as $row): ?>
    <!-- HTML code here that gets printed once for each $row -->
<?php endforeach ?>

然后在HTML中放入一些PHP代码以使其动态化。

<?php if ($first) echo 'selected="selected"' ?>

如果selected="selected"为真,则上面的代码会打印$first。第一次迭代后$first变为false:

<?php if ($first) $first = false ?>

答案 1 :(得分:0)

        <select class="form-control">
        <?php
          foreach ($result as $row) {
            $sel = ($row->tbl_group_id == $someId)?'selected="selected"':'';
          ?>
            <option value="<?php echo $row->tbl_group_id;?>" <?php echo $sel; ?> ><?php echo $row->tbl_group_rolename; ?></option>
          <?php } ?>    

            <option value="name">One</option>
            <option value="email">Two</option>
            <option value="three">Three</option>
            <option value="four">Four</option>
            <option value="five">Five</option>
        </select>