Здравствуйте уважаемые форумчане. Предо мной встала сложная задача вывода информации из бд. Помогите пожалуйста, если сможете...
[code=htmlphp][/code]Таблица с материалами, eu6xi_k2_items
-------------------------------- -------------------------------- -------------------------------- ----------------
|---id----|----title----|----catid----|----published----|introtext----|-------created-------|----created_by----|
|----1----|----title1---|------6------|--------1--------|----intro1---|-2012-09-18 17:01:39-|--------42--------|
|----11---|----title2---|------1------|--------1--------|----intro2---|-2012-09-19 17:01:39-|--------42--------|
|----13---|----title3---|------2------|--------0--------|----intro3---|-2012-09-20 17:01:39-|--------42--------|
|----23---|----title4---|------12-----|--------0--------|----intro4---|-2012-09-21 17:01:39-|--------42--------|
|----43---|----title5---|------5------|--------1--------|----intro5---|-2012-09-22 17:01:39-|--------44--------|
-------------------------------- -------------------------------- -------------------------------- ----------------
Таблица с подписанными категориями, podp_category
-------------------------------- -----------------
|----id_user----|----id_cat----|----sub_date----|
|------42-------|-------6------|---2013-05-23---|
|------41-------|-------6------|---2013-05-24---|
|------43-------|-------6------|---2013-05-25---|
|------42-------|------12------|---2013-05-26---|
|------42-------|------77------|---2013-05-27---|
-------------------------------- -----------------
Таблица с удаленными материалами, podp_delete
-------------------------------- -
|----user_id----|----item_id----|
|------42-------|------13-------|
|------18-------|------13-------|
|------23-------|------11-------|
|------42-------|------34-------|
|------49-------|------56-------|
-------------------------------- -
Таблица с пользователями, eu6xi_users
-------------------------
|----id----|----name----|
|----42----|---admin----|
|----43----|---VIRUS----|
|----44----|---ToCAs----|
|----45----|---sergey---|
-------------------------
Загружая страницу я знаю лишь айди пользователя. Допустим человек залогинен на сайте, и меет айди 42. И теперь нужно составить запрос так, чтобы человек увидел на странице только те материалы (eu6xi_k2_items), на которые он подписан. Материал должын быть опубликован (published=1) Увидить только те, которые позже появились чем он подписался (podp_category), исключить материалы которые он не хочет видеть (podp_delete). И подменить created_by из айди на реальное имя Грубо говоря нужно получить массив с следующими данными:
Array
(
[0] => Array
(
[0] => 1
[0] => title1
[0] => 6
[0] => 1
[0] => intro1
[0] => 2012-09-18 17:01:39
[0] => admin
)
)
1. Bloodv1rus - 23 Мая, 2013 - 21:58:10 - перейти к сообщению
2. LIME - 23 Мая, 2013 - 22:16:25 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT eu6xi_k2_items.id,title,catid,introtext,created,eu6xi_users.name FROM eu6xi_k2_items
- JOIN podp_category ON id_user=$user_id AND catid=id_cat AND podp_category.sub_date<created
- JOIN podp_delete ON podp_delete.user_id=$user_id AND item_id!=eu6xi_k2_items.id
- JOIN eu6xi_users ON eu6xi_users.id=created_by
- WHERE published=1