MongoDB使用PHP返回数组来填充下拉列表

时间:2017-10-10 18:09:00

标签: php arrays mongodb

我的集合的样子如下 -

"name" : "input type",
"values" : [
    "ip1",
    "ip2",
    "ip3",
    "ip4",
    "ip5"
]

我的HTML页面中有一个下拉列表 - 其中的选项必须是这些值 - ip1,ip2等。

我如何填充它们?我试图这样做并不断收到错误 -

Fatal error: Cannot use object of type MongoCursor as array

我的代码是

<?php
          $connection = new MongoClient();

          $db = $connection->universal_data;
          $collection = $db->iptype;

          $cursor = $collection->find();

          $select= '<select name="iptype">';

          foreach($cursor['values'] as $result)
          {
              foreach($result as $val) {
                $select.='<option value="'.$val.'">.$val.</option>';
              }
          }
?>

有人可以帮我解决这个问题。提前致谢

1 个答案:

答案 0 :(得分:2)

如果你想迭代MongoCursor就足以将$cursor置于foreach循环中

$cursor = $collection->find();

foreach ($cursor as $doc) {
    // do something to each document
}

在你的情况下,你应该改变你的foreach:

foreach ($cursor as $result) {
    foreach ($result['values'] as $val) {
         $select.='<option value="'.$val.'">.$val.</option>';
    }
}

光标不是一个数组,这就是你有这个错误的原因。