<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Как создать Карту сайта?
18.07.2013 14:56:52 Как создать Карту сайта? Сообщение #1
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 63

Подскажите как создать Карту сайта? У меня на сайте есть категории и статьи, и вот я хочу чтобы из БД выводилась категория и к ней все статьи, и так с каждой категорией, как это реализовать? Вот данные из БД я вывести могу, а как сделать чтобы статьи выводились под своей категорией - это проблема, точнее я в цикле запутался. Кто может написать цикл по выводу Карты сайта.
Профиль Ответить
18.07.2013 18:05:11 Как создать Карту сайта? Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Получить массив всех категорий. Далее начать цикл, в итерации выводить категорию и получать по id категории из базы массив всех статей. Далее создать внутренний цикл, где вывести все статьи. Далее следующая категория, и так пока все не будут перебраны.
Профиль Ответить
18.07.2013 18:18:47 Как создать Карту сайта? Сообщение #3
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 63

Например я вытащил все статьи в массив $$karta_saita_art, а категории в массив $categories


<?php foreach ($categoreis as $cat):?>

<h3><?=$cat['title_category'];?></h3>

<?foreach($karta_saita_art as $item):?>

<? if($cat['title_category'] == $item['category']) {?>

<h3><?=$item['title_article'];?></h3>

<?php } endforeach;?>

<?php endforeach;?>


Вот такой код получился, но работает не так как нужно. что не так? может другой цикл взять, например for или while?
Профиль Ответить
18.07.2013 18:29:00 Как создать Карту сайта? Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

$item):?> - никакие двоеточия тут не нужны, там нужны обычные фигурные скобки.
Профиль Ответить
18.07.2013 18:32:29 Как создать Карту сайта? Сообщение #5
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 63

все, заработало, но не в скобках дело было, а в выборке полей из БД, все равно спасибо за помощь.
Профиль Ответить
18.07.2013 18:47:56 Как создать Карту сайта? Сообщение #6
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 63

Возник еще один вопрос. Когда в какой то категории нет статей, а категория все равно выводиться, так вот нужно чтобы категории выводились только те, в которых есть статьи, как мне условие прописать?
Профиль Ответить
18.07.2013 21:28:38 Как создать Карту сайта? Сообщение #7
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Учитывая, что Вы сразу пытаетесь вывести, никак. Нужно до вывода сформировать ещё в самом PHP массивы данных, которые будут выводиться. Там есть там все условия и должны быть. А когда массивы уже сформированы, уже можно их выводить и никаких проверок не требуется.
Профиль Ответить
18.07.2013 23:30:57 Как создать Карту сайта? Сообщение #8
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 63

но как сформировать этот масcив, чтобы выводились категории только те, где есть статьи?
Профиль Ответить
19.07.2013 11:03:56 Как создать Карту сайта? Сообщение #9
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Я уже писал ещё в первом сообщении как. Единственное условие, которое надо добавить, это если нет статей вообще у категории, то не добавлять эту категорию в массив.
Профиль Ответить
19.07.2013 11:25:28 Как создать Карту сайта? Сообщение #10
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 63

например есть две таблицы - categories(id, title, text) и articles(id, id_cat, title, text).

Помещаем все категории в массив и перебираем его:


$mysqli = new mysqli("localhost", "articles", "123456", "test";

$result_set = $mysqli->query('SELECT * FROM categories');

$i = 0;
while ($row = $result_set->fetch_assoc()) {
$results_cat[$i] = $row;
$i++;
}


Помещаем все статьи в массив и перебираем его:


$mysqli = new mysqli("localhost", "articles", "123456", "test";

$result_set = $mysqli->query('SELECT * FROM articles');

$i = 0;
while ($row = $result_set->fetch_assoc()) {
$results_art[$i] = $row;
$i++;
}




Теперь пишем условие:


if ($results_cat[$i]['id'] == $resalts_art[$i]['id_cat']) {
выводим категории
}
else { не выводим категории}



но это условие не правильное, помогите составить.
Профиль Ответить