- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть таблица с объявлениями. Приблизительно с такой структурой:
Id - уникальное поле объявления
date_in - дата добавления
RUB - рубрика объявления
SUB - подрубрика объявления
Text - объявление
По умолчанию они выводятся order by date_in desc
Стоит задача вывести объявления в определенном, зафиксированном мной порядке в определенной рубрике или подрубрике. (Нужно сохранить нужную рубрику и порядок)
Насчет порядка все просто - ввести поле por и выводить order by por desc, date_in desc
Как сохранить рубрику/подрубрику? И как выводить (каким запросом) список объявлений в рубрике с зафиксированными мной объявлениями?
А зачем Вы имена столбцов в верхнем регистре пишете? Как-то не принято так делать, всё равно мускуль этого не понимает.
Ответ на ваш вопрос находиться на первых двух страницах любого учебника по мускле, если вы планируете писать свои запросы, с него и начните - это базовые команды - фильтрация по полям. Советовал бы в рубриках хранить только ID, названия выносить в отдельную таблицу. Цифровые запросы будут быстрее выполняться.
И такой, чисто практический совет - называйте поля сразу грамотно, не ленитесь слова писать.Ну что такое date_in - вы потом не поймете что хотели этим сказать))) Например, я дату создания записи храню в поле created_at рубрика - blog_cathegory or blog_cat и так далее.Потом проще запросы писать
Автору уже намекали в одной из его тем, как лучше организовать данные, но он, видимо, либо читать не умеет от слова совсем, либо забыл, что тему создавал.
А есть ли смысл выносить названия? Ведь это еще 1 доп. запрос к таблице с названиями.. При выводе 20 записей соответственно будет еще +20 запросов чтобы вывести название рубрики..
Еще одиин вопрос: если я захожу в рубрику site.com/board/avto/
то стоит искать записи по урлу avto или по его id ? (ведь чтобы узнать id рубрики Авто, нужно сделать еще 1 запрос к таблице с категориями)
В % соотношении на сколько дольше выполняется запрос?
Лучше один простой запрос сделать, чем 100 раз присоединять одно и тоже.
---------- Добавлено 11.10.2016 в 11:20 ----------
В принципе можете делать слаги двухкомпонентные, например avto/sedan. Мы для подкатегорий такое иногда практикуем, хотя по сути это чисто визуальный эффект.
---------- Добавлено 11.10.2016 в 11:41 ----------
Но у подкатегорий есть поле обратной связи с категорией (обычно называется parent или division). У «объявлений» связь только с подкатегорией. Таблица подкатегорий присоединяется к объявлениям автоматом (а значит и поле division) для всех массовых запросов объявлений кроме запроса к конкретной подкатегории. В последнем случае подкатегория выбирается отдельным предварительным запросом (для полноты картинки фактические данные подкатегории подставляются в каждую строку результирующей выборки основного запроса с объявлениями).
---------- Добавлено 11.10.2016 в 11:57 ----------
Что касается основного вопроса топика, если конечно я его правильно понял, то почему вам просто не завести у категорий/подкатегорий спец. флаг, указывающий на необходимость выполнения «особой» сортировки вместо дефолтной.
Приблизительно с такой структурой:
Id - уникальное поле объявления
date_in - дата добавления
RUB - рубрика объявления
SUB - подрубрика объявления
Text - объявление
Мы это видели:
Id | Rub_id | Sub_id | Rub_name | Sub_name
1 | 1 | 1 | Транспорт | Легковые
2 | 1 | 2 | Транспорт | Грузовые
3 | 2 | 3 | Строительство | Бетон
4 | 2 | 4 | Строительство | Штукатурка
5 | 3 | 5 | Отдых | Отели
Та тот же косяк, тебе уже говорили
Ок, попробую и я.
(Как вариант) Выкинуть нафик все SUB, и добавить поле PARENT_ID (ИДшник родителя).
P.S. Порядок по-английски будет order ;) Поле с датой создания можно назвать просто date – по-моему вполне понятно, что это дата создания, если конечно у объявления нет др. дат.
Я советую ТС погуглить и понять что такое третья нормальная форма
Скорость работы mysql зависит не от количества запросов, а от скорости их выполнения и latency.
если я захожу в рубрику site.com/board/avto/
то стоит искать записи по урлу avto или по его id ?
Всё-таки правильнее распарсить url и вытащить из него id, с которыми дальше и работать. Представьте себе, что Вы ошиблись и написали не "автомобиль", а "автамабиль". И что, всю таблицу переписывать? А id - он цифровой, его менять ни к чему. То же самое и с родительскими элементами: задумали одну букву в названии изменить - и вся таблица поехала, а если оставите только id - то исправить надо только 1 строку в таблице рубрик.
Отвечая на вопрос "как организовать данные", могу посоветовать создать отдельные таблицы: для самих объявлений, для субкатегорий и для категорий. Тогда будет гораздо проще изменять названия и перебрасывать материалы из одного раздела в другой.
а я, отступлю от правил этого славного форума не создавать холиваров, и спрошу у ТС зачем вам это все? зачем писать доску объявлений, ничего не понимая? есть много готовых скриптов open source, бери, разбирайся и запускай проект... а если вы учитесь, то учитесь по учебникам и статьям, или коду рабочих скриптов... задавая неправильные вопросы на форуме ничему хорошему вы не научитесь))
и подумайте еще раз оно вам надо?