Intereting Posts
Преобразование массива PHP в входы HTML-формы – это дублирование элементов Как сделать динамические страницы Google на моем сайте Достигнут максимальный уровень гнездования функции «100», прерванный после обновления до Laravel 5.1 Настройка службы RESTful для Backbone.js с помощью apache и windows Проблема WordPress, вызывающая массивные журналы ошибок Связь между длиной ввода и длиной зашифрованного текста в AES mysqli bind_param дает ошибку: (1210) Неправильные аргументы mysql_stmt_execute Отправка электронной почты с использованием Gmail API Специальные символы и двойные кавычки в PHP Вопрос о структуре папок MVC Таблицы стилей Laravel и javascript не загружаются для не-базовых маршрутов PHP – формат даты / времени Как передать ссылку прямо для моей страницы fb fan с помощью fb api PHP: работа с большой строкой с кавычками PHP взорвать термины в массиве, сохранить цитируемый текст как единый элемент массива

Меню Codeigniter из базы данных

Я создал меню с помощью Codeigniter и локальную базу данных, содержащую домены для разных книг. Я смог отобразить все имена доменов и нарисовать меню визуально, но я не знаю, как сделать их доступными для кликов и после щелчка, чтобы отображать только книги, принадлежащие кликнутому домену.

Например, если кто-то нажимает на домен X, я хочу, чтобы пользователь перенаправлялся на сайт.com/X и отображал книги в домене X.

Я не уверен, с чего начать, и как это сделать. Я не прошу кого-то написать код для меня, но объясню мне шаги, которые я должен сделать для этого.

Вот код, который, по моему мнению, имеет значение.

контроллер:

class Menu extends MX_Controller{ function index() { $this->load->model('menu_model'); $data['items'] = $this->menu_model->domenii(); $this->load->view('menu', $data); } } 

Модель:

 class Menu_model extends CI_Model{ function domenii() { $query = $this->db->get('domenii'); return $query->result(); } } 

Просмотр (Bootstraped):

 <nav class="navbar navbar-default"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand col-lg-6 col-md-6 col-xs-6" href="<?php echo base_url(); ?>" title="Librarie">Librarie</a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <?php foreach ($items as $item): ?> <li><a href=""><?php echo $item->nume_domeniu; ?></a></li> <?php endforeach; ?> <li class="custom-li"> <?php echo form_open('search/cauta'); ?> <?php echo form_input(array('name'=>'element', 'class'=>'form-control', 'placeholder' => 'Cautare',)); ?> <?php echo form_submit(array('name'=>'search_submit','value' => 'Search', 'class'=>' hidden')); ?> <?php echo form_close(); ?> </li> </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> 

Благодаря!

Если я правильно понимаю вас, я бы использовал маршруты для этого и пересылал каждый запрос контроллеру. Как это;

 $route['(:any)'] = 'controller/method/$1'; 

Теперь метод контроллера;

 function method($name = null) { if(is_null($name)) { echo 'no $name found...'; } else { // Name was found, make sure it exists if ($item = $this->model->check_name($name)) { // Yes the name exists var_dump($item); } else { show_error('invalid $name'); } } } 

Надеюсь это поможет.