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]   

> Без описания
Еугений
Отправлено: 23 Апреля, 2012 - 14:51:06
Post Id


Частый гость


Покинул форум
Сообщений всего: 176
Дата рег-ции: Апр. 2011  


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




например хочу добавить ф-ию добавить в друзья,
1) вариант. создать еще одну таблицу в ней ей будут ячейки - кто добавил, кого добавил, id и т д. вывести список друзей и например заявки будет несложно.
2) вариант. чтобы не нагружать бд созданием таблицы friends, в таблицу users где собс-на список пользователей с паролями логинами и тд добавить столбец друзья. в ней будет массив ваших друзей (их логины или id) и заявки. и чтобы вывести их список, надо преобразовать этот массив в строку для запроса. должно будет получится SELECT * FROM users WHERE id=2 AND id=8 итд...
ЧТо лучше?
И кстати можно ли как нибудь попроще сделать запрос where id=2 and where id=5 and where id=...итд?
 
 Top
Viper
Отправлено: 23 Апреля, 2012 - 15:06:41
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




2. Можно сериализованный массив либо json в поле типа text тулить. Но не кошерно. Первый вариант лучше имхо.

Еугений пишет:
И кстати можно ли как нибудь попроще сделать запрос where id=2 and where id=5 and where id=...итд?



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Мелкий Супермодератор
Отправлено: 23 Апреля, 2012 - 15:25:54
Post Id



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


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


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




Без сомнений, первый вариант. Со вторым вы утонете, чуть более сложная выборка понадобится - хоть банально "найти взаимных друзей" - всю таблицу перебирать?

При том, поле id нафиг не надо, первичного ключа по кто и кого добавил более чем достаточно. + при необходимости таких выборок индекс по кого и кто добавил (в обратном порядке поля).


-----
PostgreSQL DBA
 
 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