- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Есть две таблицы - в одной находятся различные "ключевые" значения и их описания, структура такая: id, name, description (например - id:1, name:Сказкотерапия, description:Эта область психологии....).
Вторая таблица - со статьями, структура такая: id, name, article, catid (например - id:1, name:Введение, article:Текст статьи, catid: id категории, соответствует значению id первой таблицы.)
Задача - показать категории и под каждой из них вывести соответственные списки названий статей.
Подскажите, пожалуйста, допустимо ли такое решение с точки зрения грамотности, нагрузки на сервер и на базу данных?
Спасибо большое!
Используй JOIN для объединения таблиц по cat_id, тем самым сведешь все к одному запросу.
Используй JOIN для объединения таблиц по cat_id, тем самым сведешь все к одному запросу.
Спасибо за совет, свести в один запрос удалось, но возникла другая проблема - с выводом, который выглядит так:
test1
qwerty1
test1
Qwerty2
test1
Qwerty3
В данном случае test1 - это название категории в первой таблице ($fe[name]), а qwerty1...qwerty3 - названия статей во второй ($fe[text]).
Подскажите, пожалуйста, где ошибка? Код выглядит так:
Прошу прощения, за глупые вопросы.
Order by вам в помощь :)
Order by вам в помощь :)
Прошу прощения, не правильно сформулировал вопрос.
Как убрать повторяющуюся строчку "test1"? Чтоб она показалась только раз. Если вывести её за цикл - соответственно, последующие категории (test2, test3, ...) показываться не будут.
Спасибо!
Вместо * указывайте те поля, которые хотите выводить.
$se = mysql_query("select * from cat, articles where text.catid=cat.id order by ...") or die ("err1");
$CurrCat = "";
for($i = 0; $i < mysql_num_rows($se); $i++)
{
$fe = mysql_fetch_array($se);
if ($CurrCat != fe[name]) {
$CurrCat = fe[name];
echo "<br>$fe[name]";
}
echo "<br><li>$fe[text]</li>";
}
AnNik, огромное Вам спасибо! :)