Что бы я хотел создать, в основном что-то подобное, как в Facebook. Если пользователь разместил свое имя пользователя, ссылка будет выглядеть так: www.mysite.com/user/{username}, если бы ссылка не была такой: www.mysite.com/user/{userid}. С приведенными ниже кодами я получаю undefined индексы для всех полей, которые я пытаюсь извлечь из dataabase. Он работает только с user_id, но не с именем пользователя. Любая помощь приветствуется.CodeIgniter получить userinfo по имени пользователя, если имя пользователя существует, если не получить по адресу userID
Ссылка на профили (по количеству просмотров):
<a href="<?=base_url()?>user/<?=isset($event['username']) ? $event['username'] : $event['creatoruserid']?>">
<img src="<?=base_url()?>public/images/uploads/profiles/<?=$event['profilepic']?>" class="event-profile-pic">
</a>
Маршрут к профилям: Контроллер
$route['user/(:any)'] = "user/profile/$1";
Пользователь с помощью метода пользователя:
<?php
class User Extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('event_model');
$this->load->model('user_model');
}
public function profile($user_id)
{
// All the data we need in profile page
$data['user'] = $this->user_model->getUserInfo($user_id);
$data['events'] = $this->event_model->getEventsById($user_id);
$data['total_events_created'] = $this->user_model->TotalEventsCreated($user_id);
$data['total_comments'] = $this->user_model->TotalComments($user_id);
$data['total_attending_events'] = $this->user_model->TotalAttendingEvents($user_id);
$this->load->view('/app/header');
$this->load->view('/app/profile', $data);
$this->load->view('/app/footer');
}
}
Модель для извлечения USERINFO из базы данных:
<?php
class User_model extends CI_Model
{
public function getUserInfo($user_id)
{
$this->db->select('*')->from('users')->where(['user_id' => $user_id]);
$query = $this->db->get();
return $query->first_row('array');
}
}
or_where сделал трюк, приветствует брата! :) – Cooper