Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Организация отстойника

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dzheka3d
Отправлено: 26 Марта, 2014 - 23:55:33
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




Здравствуйте! Помогите плз помыслить, как лучше организовать "отстойник новостей" на сайте.
Идея не нова, но в целом она такая:
Пользователь загружает новость, и она попадает в раздел "отстойник", "бездна","песочница ", кому как угодно, пока она ожидает модерации. Вот у меня вопрос, как лучше сделать... Добавлять все записи из песочницы к остальным, уже одобренным с дополнительным полем flag, где 0 означает - не проверено, а 1- означает одобрено. при этом, получается нужно в каждом запросе на всех модулях и страницах сайта прописывать условие при выборке вроде "WHERE flag=1". Мне кажется не удобно.
Вариант добавлять все новости в отдельную таблицу, но правильно ли это???
Может есть еще интересные варианты??? Как это делают остальные???
 
 Top
LIME
Отправлено: 27 Марта, 2014 - 06:13:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




если делать отдельной таблицей то могут возникнуть проблемы с будущими изменениями
например что если понадобится еще парочка состояний
если нет то делай как хочешь
 
 Top
Мелкий Супермодератор
Отправлено: 27 Марта, 2014 - 08:36:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




dzheka3d пишет:
Добавлять все записи из песочницы к остальным

Так и будет правильно.
Только не int'ом, а хотя бы enum'ом - читать проще, чем вспоминать, что какое значение значит, если их будет внезапно больше одного.

dzheka3d пишет:
нужно в каждом запросе на всех модулях и страницах сайта прописывать условие при выборке вроде "WHERE flag=1"

Создайте view с этим условием. И затем обращайтесь к этой вьюшке, когда нужны только одобренные новости.


-----
PostgreSQL DBA
 
 Top
ПТО
Отправлено: 27 Марта, 2014 - 09:49:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




dzheka3d пишет:
получается нужно в каждом запросе на всех модулях и страницах сайта прописывать условие при выборке вроде "WHERE flag=1". Мне кажется не удобно

Это еще цветочки...
А так посоветовать могу следующее: если у Вас в коде php много мест с одной и той же выборкой, то лучше сделать выборку из вьюхи, и потом исправлять вьюху - так будет быстрее, чем "шерстить" весь код на php.
Обе Ваши реализации имеют место быть - как и с отдельной таблицей, так и с вставкой в одну таблицу. Далее следует определиться:
Разграничение таблиц имеет смысл в том случае
1) когда мы хотим ограничить внешние ключи, ссылающиеся (или которые будут ссылаться) на таблицу.
2) или когда хранимые данные в таблицах в будущем будут различаться по полям


Сбор данных в одну таблицу имеет смысл:
1) если все данные по полям не особо различаются,
2) если есть дочерняя таблица с внешними ключами на эту. Реализовать дочернюю таблицу с внешними ключами на две и более таблиц - можно, несложно, но муторно и некрасиво.

Я бы рекомендовал второй вариант - хранить все в одной таблице. По мере развития приложения решение о разграничении таблицы на две раздельные само придет в голову, когда будет в этом необходимость
 
 Top
dzheka3d
Отправлено: 27 Марта, 2014 - 11:25:59
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




Спасибо всем! Наверное, как и посоветовали, воспользуюсь вариантом с одной таблицей, флагом и попробую поискать литературу по view, если у кого-то есть под рукой ссылочка на хроший мануал - буду очень благодарен
П.С. Кнопочки спасибо не могу жмякать из-за недостатка сообщений

(Отредактировано автором: 27 Марта, 2014 - 11:34:01)

 
 Top
dzheka3d
Отправлено: 27 Марта, 2014 - 15:18:42
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




Почитал про view, И если я правильно понял, то на данном этапе, когда я решу создать представления, мне все равно нужно будет изменить все запросы к базе, но зато потом уже будет проще? Правильно?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB