<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

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

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

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

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

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

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

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

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

bo4kov

Продвинутый

Продвинутый

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

Сообщений: 65

Подскажите как создать Карту сайта? У меня на сайте есть категории и статьи, и вот я хочу чтобы из БД выводилась категория и к ней все статьи, и так с каждой категорией, как это реализовать? Вот данные из БД я вывести могу, а как сделать чтобы статьи выводились под своей категорией - это проблема, точнее я в цикле запутался. Кто может написать цикл по выводу Карты сайта.
Профиль Ответить
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

Сообщений: 65

Например я вытащил все статьи в массив $$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

Сообщений: 65

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

bo4kov

Продвинутый

Продвинутый

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

Сообщений: 65

Возник еще один вопрос. Когда в какой то категории нет статей, а категория все равно выводиться, так вот нужно чтобы категории выводились только те, в которых есть статьи, как мне условие прописать?
Профиль Ответить
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

Сообщений: 65

но как сформировать этот мас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

Сообщений: 65

например есть две таблицы - 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 { не выводим категории}



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