FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Flitig postare
|
Hej!
Jag har en databasstruktur som ser ut såhär: Kod:
blogs (här ligger information om alla bloggarna) - id - name - url - feedUrl bevakningar (knyter samman en användare med en blogg): - id - blog_id - user_id - usercategory_id notifications: (posts från dom olika bloggarna) - id - title - url - date - excerpt - imageurl - readed (växlar mellan 0/1) beroende om man har läst det eller inte. users: - id - name - password - mail usercategories: (Personliga kategorier för varje användare) - id - name - user_id Dom personliga kategorierna ligger i tabellen 'usercategories' och är kopplad till tabellen 'bevakningar' via kolumnen usercategory_id Antar att jag måste använda en Inner Join, men får inte rätt på det. En användare ska alltså kunna skapa personliga kategorier som dom kan lägga till olika bloggar i. T.ex. om man vill ha dom bloggarna man följer mest .. så skapar man en kategori vid namn typ "VIP" och lägger till bloggarna i den kategorin. Problemet här är att hämta alla posts från den personliga kategorin. Någon som har en aning på hur man kan lösa detta? Hoppas det inte blev allt för flummigt nu. |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
Hur knyter du ihop notifications och blogs?
|
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Administratör
|
Var är relationen mellan notifications och blogs?
__________________
@Zn4rK - Börja blogga - Paintball i Göteborg Det jag skriver är mina personliga åsikter och återspeglar inte vad WN eller andra företag jag representerar tycker. |
|||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Flitig postare
|
Tack för snabbt svar.
Glömde skriva till ett par kolumner i notifications-tabellen, ber om ursäkt. Såhär ser strukturen för notifications ut: Kod:
notifications: (posts från dom olika bloggarna) - id - title - url - user_id - blog_id - date - excerpt - imageurl - readed (växlar mellan 0/1) beroende om man har läst det eller inte. |
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Mycket flitig postare
|
Jag tycker att din struktur verkar aningen spretig, men jag gör ett snabbt, otestat försök:
SELECT * FROM notifications WHERE blog_id IN (SELECT blog_id FROM bevakningar WHERE usercategory_id = ?) ORDER BY date DESC |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
select not.id, not.title, not.url (...) from notifications not, bevakningar bev
where bev.usercategory_id=valt värde and bev.blog_id=not.blog_id förutsatt att varje användare har globalt unika kategorier för sina bloggar. Annars får man lägga till ett till kriterium på användare. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Flitig postare
|
Citat:
Jag la till: AND notifications.user_id = '{$user_id}' ORDER BY date DESC Tack återigen! ![]() |
|||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Flitig postare
|
Jag väcker liv i tråden igen på grund av att jag har "fastnat" (igen).
Jag behöver hjälp med att ordna ihop en SQL-sats som på snabbast sätt kollar antalet prenumeranter till bloggarna och sedan sorterar dom efter flest prenumeranter först. Typ: 1. Rolles blogg, 25 prenumeranter 2. Kalles blogg, 23 prenumeranter 3. LOLs blogg, 20 prenumeranter 4. Johans sliskiga mysterium, 20 prenumeranter 5. Hitlers porrblogg, 15 prenumeranter ... etc Databasdesignen har ni ovan ![]() Tack på förhand. |
|||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Mycket flitig postare
|
Jag kanske missförstår vad du vill åstadkomma, men räcker inte COUNT(*) ... GROUP BY? Vad jag kan se från ditt databasschema så borde:
Kod:
SELECT blog_id, COUNT(*) AS num FROM bevakningar GROUP BY blog_id |
|||
![]() |
![]() |
Svara |
|
|