Запази в любими?

tahys

Registered
Как най-лесно може да стане и да мога да извеждам информацията за страницата която е запазил без много заявки към БД.. мислих да записвам ИД на потребителя и на страницата но като искам да изведа информацията за страницата която е добавил за всяко ИД трябва да правя заявка?
Може ли няколко идей как мога да го направя най лесно?
 
Запиши всички id-та на страниците в едно текстово поле в бд на потребителя(12;23;421;23;312;3;2;32;4;). След това изведи всички с една заявка (WHERE id=12 OR id=23 OR id=421 OR..).
 
Примерно имаш 3 таблици:

users
user_id|user_name|...|
1|adrian|...|
2|username|...|

pages
page_id|page_title|page_content|...|
1|Страница 1|Съдържание 1|...|
2|Страница 2|Съдържание 2|...|
3|Страница 3|Съдържание 3|...|

favs
fav_id|user_id|page_id
1|1|1
2|1|2
3|1|3
4|2|2

И от таблица favs става ясно, че adrian харесва и трите страници, а username само страница 2.

Ако искаш да изведеш всички любими заглавия на страниците, който adrian харесва го правиш така:

SELECT pages.page_title FROM favs LEFT OUTER JOIN pages ON favs.page_id = pages.page_id WHERE favs.user_id = 1

Ако искаш да изкараш любимите на username, тогава WHERE favs.user_id = 2 и т.н.
 

Back
Горе