Codeigniter: укажите данные пользователя

67
8

Я новичок в CodeIgniter, и я пытаюсь получить определенные пользовательские данные для отображения в профиле.

Он показывает данные, но не правильную информацию для этого профиля.

Модель:

class User_model extends CI_Model {

public function __construct()
{
parent::__construct();
}

function show_users()
{
$query = $this->db->get('users');
$query_result = $query->result();
return $query_result;
}

public function showUserID($data)
{
$this->db->select('*');
$this->db->from('users');
$this->db->where('id ', $data);
$query = $this->db->get();
$result = $query->result();
return $result;
}

контроллер:

 public function user()
{

$id = $this->uri->segment(3);
$data['users'] = $this->user_model->show_users();
$data['single_user'] = $this->user_model->showUserID($id);

$this->load->view('templates/header');
$this->load->view('pages/profile', $data);
$this->load->view('templates/footer');

}

Посмотреть:

   <?php $username = $_SESSION['username'];?>
<?php echo $username;?> Profile

<?php foreach ($users as $user):
if ($user == $username) { ?>
<li><a href="<?php echo base_url() . "index.php/Profile/user/" . $user->id; ?>">
<?php echo $user->username; }?></a></li>
<?php endforeach; >

<h4>User ID:</h4> <h5> <?php echo $user->id; ?></h5>
<h4>Age:</h4> <h5><?php echo $user->age; ?></h5>

Я просто не знаю, как указать его для текущего зарегистрированного пользователя.

спросил(а) 2017-10-04T01:20:00+03:00 2 года, 9 месяцев назад
1
Решение
101

Если вы получаете $id в своем контроллере.

Измените свою модель на

public function showUserID($id)
{
$this->db->where('id ', $id);
$query = $this->db->get('users');
return $query->result_array();

}

Измените свой вид на (no neeed foreach loop)

<li><a href="<?php echo base_url() . "index.php/Profile/user/" . $single_user[0]['id']; ?>">
<?php echo $single_user[0]['id']; }?></a></li>
<?php endforeach; >

<h4>User ID:</h4> <h5> <?php echo $single_user[0]['id']; ?></h5>
<h4>Age:</h4> <h5><?php echo $single_user[0]['age']; ?></h5>

ответил(а) 2017-10-04T08:39:00+03:00 2 года, 9 месяцев назад
39

Попробуйте это на ваш взгляд

<?php $username = $_SESSION['username'];?>
<?php echo $username;?> Profile

<?php foreach ($users as $user):
if ($user->username == $username) { ?>
<li><a href="<?php echo base_url() . "index.php/Profile/user/" . $user->id; ?>">
<?php echo $user->username; }?></a></li>
<?php endforeach; >

<h4>User ID:</h4> <h5> <?php echo $user->id; ?></h5>
<h4>Age:</h4> <h5><?php echo $user->age; ?></h5>

ответил(а) 2017-10-04T06:42:00+03:00 2 года, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема