Tabasov
@Tabasov

Codeigniter как правильно создать каталог?

Добрый день, изучаю Codeigniter, опыта в пхп разработке не очень много.
На данный момент стоит задача сформировать каталог из двух связанных таблиц, к сожалению не могу сообразить как это сделать правильно)

Структура таблиц
mysql> desc items;
+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| id       | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| items_id | int(11) unsigned | YES  | MUL | NULL    |                |
| title    | varchar(128)     | YES  |     | NULL    |                |
| userfile | varchar(128)     | YES  |     | NULL    |                |
+----------+------------------+------+-----+---------+----------------+
4 rows in set (0.06 sec)

mysql> desc category;
+-------------+------------------+------+-----+---------+----------------+
| Field       | Type             | Null | Key | Default | Extra          |
+-------------+------------------+------+-----+---------+----------------+
| category_id | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| name        | varchar(128)     | YES  |     | NULL    |                |
+-------------+------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)


Запрос в модели
$query = $this->db->query('SELECT * FROM items join category WHERE items_id = category_id');

Контролер
$data['uniq'] = $this->category_model->get_uniq_news();

Шаблон
<?php
    var_dump($uniq);
    foreach ($uniq as $uniq_item)
    {
        $uniq_item['name'];
    }
    ?>
    <?php foreach ($category as $category_item): ?>
        <a style="display: block" href="/catalog/<?= $uniq_item['name'] ?>"><?= $category_item['name'] ?></a>
    <?php endforeach ?>


Каталог я вывел, все устраивает, а вот с созданием ссылки возникли затруднения…
Буду очень признателен за помощь и любые советы, спасибо.
  • Вопрос задан
  • 2666 просмотров
Пригласить эксперта
Ответы на вопрос 2
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
1. Поля базы данных, да и функции тоже - надо называть так, что бы было понятно о чем идет речь.
То что items_id это category_id - вообще не очевидно ниразу

2. Не используйте *. Это потенциально источник дикого геморроя. Не ленитесь перечислить поля с названиями таблиц.

3. ВСЕГДА используйте сортировку в sql.

4. Я не очень понял из кода и описания что именно Вы хотите сделать.
Вывести список категорий? Вывести дерево категория-товары? Что?
При чем тут какие то news? При чем тут вообще ссылки?
Ответ написан
@iru
php dev
base_url('catalog/'.$id)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы