如何使用PDO预处理语句构建数组,然后使用数组填充下拉列表

时间:2014-02-20 01:02:40

标签: php mysql arrays pdo

我正在使用我从其他地方获得的脚本,它在我的网站上提供了一个管理面板。

这个模板使用PDO,我并不熟悉它是如何工作的,并且想要了解更多,但已经走到了尽头。我正在尝试使用我的数据库中的用户名填充数组,然后使用该数组填充网页上的下拉列表。

这是我的(尝试过的)数组代码:

function getUserList(){
    $userList = array();
    $sql = $this->connection->query("SELECT username FROM ".TBL_USERS);  
    $options=""; 
    while($row = $sql->fetch()) { 
    $userList[$row['username']] = $row['username']; 
        }
        return $userList;
    }

这里错误地试图将数组调用到下拉列表中:

 <tr>
        <td align="right"><label for="user">Username:</label></td>

        <td align="left"><select name="user" id="user">
        <option value="0" selected="selected">Username to Assign</option>
        <?php echo $database->getUserList(); ?>
        </select></td>
 </tr>

现在有一个非常好的机会,我所做的完全不正确,但对我来说很容易大声笑!

1 个答案:

答案 0 :(得分:0)

您的getUserList()方法返回一个数组,而不是echo的字符串。

如果要回显该数组中所有元素的选项列表,可以在视图中循环显示结果:

foreach ($database->getUserList() as $key => $value)
{
  echo '<option value="' . $key . '">' . $value . '</option>';
}

或者您在方法中执行此操作(可能是另一种获取数组并返回列表的方法)。