0

我正在尝试在数据库中查找“用户”当前订阅并在视图中显示它的名称。主要是 ID,所以我使用会话中的用户 ID 在“订阅”中找到适当的行。这可以正常工作(无论如何我相信)。我的问题是将选定的数据发送到视图。视图中显示的唯一文本是“数组”。

我究竟做错了什么?

这是我的代码:

    // displays current subscription in view
    $userid = $this -> session -> userdata('user_id');

    $this -> db -> select('subscription');
    $this -> db -> where ('id', $userid);
    $query = $this -> db -> get('subscriptions');

    $data['packagename'] = $query -> result_array();

以下是我的观点:

    <? echo $packagename; ?>

编辑:我查看了 CI 手册中的 FOREACH 函数。我插上它,感觉更近了一点。我不想要任何过于复杂的代码,就像你们中的一些人发布的那样,因为我只是在学习。所以现在当页面被渲染时,会显示以下文本:string(9) "mrpopular"

    // displays current subscription in view
    $userid = $this -> session -> userdata('user_id');

    $this -> db -> select('subscription');
    $this -> db -> where ('id', $userid);
    $query = $this -> db -> get('subscriptions');

    foreach ($query->result() as $row)
    {
        $data['packagename'] = $row->subscription;
    }   
4

3 回答 3

1

那是因为您将数组值设置为$data['package_name']. result_array()返回一个数组。

您可能需要将您的值表示为$packagename['some_key']some_key您感兴趣的字段在哪里。

于 2012-11-07T23:32:19.497 回答
1

您从数据库中获得的是一个数组,您将其设置为 $data['packagename']

要快速检查您是否拥有正确的数据,只需使用:

<? print_r($data['packagename']); ?>

这应该在页面上写入所有数据

但最好的方法是使用循环:

<?
foreach ($data['packagename'] as &$value) 
{
    echo $value;
}
?>
于 2012-11-07T23:41:40.160 回答
0

试试这个

foreach($yourarray as $key=>$val)
{
    echo "Key:" . $key. " Value: " . $val. "<br>";
}

您将从数组中获取所有键和值

用您的数组名称更改 $yourarray

于 2012-11-07T23:41:35.987 回答