【问题标题】:How to pass sql rows to array in codeigniter如何将sql行传递给codeigniter中的数组
【发布时间】:2014-03-25 07:09:36
【问题描述】:

如何创建一个 sql 行数组,请帮助我是 PHP 新手?

$data = null;
if ($query->num_rows() > 0) {
  foreach ($query->result() as $row) {
    $SurveyTitle = $row->SurveyTitle;
    $SurveyId = $row->SurveyId;
    $data =array('lidata' => '<li id=' . $SurveyId . '><a href=' . $SurveyTitle . '>' . $SurveyTitle . '</a><li>',);
  }
  return $data;
}
else
{
  return $data;
}

编辑:我需要将lidata传递给我的视图

<ul class="nav nav-sidebar">
  <li class="active"><a href="#">Home</a></li>
  <li><a href="#">Add new Survey</a></li>
  <?php echo $lidata;?>
</ul>

【问题讨论】:

  • 您在上面的代码中遇到了什么问题?能说清楚点吗?
  • 你有什么错误吗?返回结果后得到的结果尝试在
  • ');
  • 之后删除逗号
  • 为什么不返回 if($query->num_rows > 0 ){ return $query->result_array();} 并在控制器/视图中对这个结果数组使用 foreach()
  • 标签: php arrays codeigniter


    【解决方案1】:

    如果$query-&gt;result() 使用$query-&gt;result_array(),则改为使用$query-&gt;result_array()

    你的函数会是这样的

    $data = null;
        if ($query->num_rows() > 0) {
            $data = $query->result_array();
            return $data;
        }
        else
        {
            return $data;
        }
    

    【讨论】:

    • 我需要将 li 元素传递给前端
    【解决方案2】:

    如果您只想将 mysql 结果存储到一个数组中,您需要这样做:

    $query = $this->db->query("YOUR QUERY");
    $allResults = $query->result_array();
    

    就是这样,检查一下:

    var_dump($allResults);
    

    有关Codeigniter 数据库助手的更多信息,您可以在此处找到:http://ellislab.com/codeigniter/user-guide/database/results.html

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签