我正在尝试在数据库中找到“用户”当前订阅,并在视图中显示它的名称。 Primary是ID,因此我使用会话中的User ID在“subscriptions”中查找相应的行。这应该工作(我相信无论如何)。我的问题是将所选数据发送到视图。视图中显示的唯一文本是“数组”。
我做错了什么?
这是我的代码:
// 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;
}
答案 0 :(得分:1)
那是因为您要将数组值设置为$data['package_name']
。 result_array()
返回一个数组。
您可能需要将您的值回显为$packagename['some_key']
,其中some_key
是您感兴趣的字段。
答案 1 :(得分:1)
您从数据库获得的是一个数组,您将其设置为$ data ['packagename']
快速检查您是否拥有正确的数据:
<? print_r($data['packagename']); ?>
这应该写在页面上的所有数据
但最好的方法是使用循环:
<?
foreach ($data['packagename'] as &$value)
{
echo $value;
}
?>
答案 2 :(得分:0)
试试这个
foreach($yourarray as $key=>$val)
{
echo "Key:" . $key. " Value: " . $val. "<br>";
}
您将从数组中获取所有键和值
使用您的数组名称
更改$ yourar