【发布时间】:2012-01-25 05:06:42
【问题描述】:
问题/问题:我正在使用 CodeIgniter 构建事件日历,并且包含了一个共享选项。此选项在基本级别有效,但仅在 <ul> 中显示用户 ID(主键)。这并不理想,我想在<ul> 中显示用户的名字和姓氏。我认为创建一个关联数组会起作用,但我收到了时髦的结果。当页面加载时,名字和姓氏会显示为“Array Array”,当您选择“Array Array”链接时,URL id 会显示为“Array”。我想知道我的逻辑有什么问题。
视图中生成的时髦链接:
Array Array
链接到“Array Array”的时髦 URL:
http://example.com/user/shared/view/Array
修改后的控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Shared extends Common_Auth_Controller {
private $end_user;
public function __construct()
{
parent::__construct();
$this->end_user = $this->ion_auth->user()->row();
$data['end_user'] = $this->end_user;
$this->load->vars($data);
$this->load->model('events_model', 'events');
}
public function index()
{
$title['title'] = 'Shared';
$this->load->model('shared_model','shared');
$data['sharers'][] = array(
'shared_owner_id' => $this->shared->get($this->end_user->id),
'owner_first_name' => $this->shared->get($this->end_user->first_name),
'owner_last_name' => $this->shared->get($this->end_user->last_name),
);
$this->load->view('public/head_view', $title);
$this->load->view('user/header_view');
$this->load->view('user/shared_view', $data);
$this->load->view('user/footer_view');
}
修改后的视图:
<div class="hide-on-phones">
<ul>
<?php foreach($sharers as $key => $value): ?>
<li><a href="<?php echo base_url('user/shared/view/'.$value['shared_owner_id']) ?>"><?php echo $value['owner_first_name']." ".$value['owner_last_name'] ?></a></li>
<?php endforeach; ?>
</ul>
</div>
型号:
class Shared_model extends crud_model {
public function __construct()
{
parent::__construct();
$this->pk = 'id';
$this->table_name = 'shared';
}
public function get($shared_to_user_id)
{
$this->db->where('shared_to_id', $shared_to_user_id);
$ids = parent::get_all();
$users = array();
foreach ($ids as $id)
{
$users[] = $id->owner_id;
}
return $users;
}
}
非常感谢您的帮助,如果需要更多信息,请告诉我。下面是可以工作的原始视图和控制器,但不是可取的。
原控制人:
public function index()
{
$title['title'] = 'Shared';
$this->load->model('shared_model','shared');
$data['sharers'] = $this->shared->get($this->end_user->id);
$this->load->view('user/head_view', $title);
$this->load->view('user/header_view');
$this->load->view('user/navigation_view');
$this->load->view('user/shared_view', $data);
$this->load->view('user/footer_view');
}
原图:
<?php foreach($sharers as $s): ?>
<li><a href="<?php echo base_url('user/shared/mobile/'.$s) ?>"><?php echo $s ?></a></li>
<?php endforeach; ?>
免责声明:我是 Web 开发的新手,我不擅长关联数组(显然)。
【问题讨论】:
标签: php codeigniter loops foreach