Kom ihåg mig?
Home Menu

Menu


Dela upp unika poster i kategorier

 
Ämnesverktyg Visningsalternativ
Oläst 2009-09-15, 13:42 #1
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Group by category ger dig exakt en rad per kategori.
Men du vill ha en rad per användare, gruppera per användare då.

Hur vet du vilka kategorier en användare tillhör?

Du skriver $categories och $users vilket är uttryck för en variabel inom php, men sen får vi gissa om det är en kolumn eller tabell du syftar på.
OM du har dina värde i en tabell med kolumner för användarnamn och för kategori och du har flera rader med samma innehåll i användarnamn-kolumnen men olika i kategori-kolumnen, så får du ut en lista med en rad per användare och alla kategorier separerade med komma så här:
select användarnamn, group_concat(kategori,',') group by användarnamn

Om du har gjort på något annat sätt får du väl joina tabeller tills du får ihop all info i samma fråga.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-09-15, 14:32 #2
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Aha !
Tänkte inte alls på GROUP BY men det är ju klart att det blir bättre med GROUP BY cat_id.
Ursäkta otydligheten med mina php-variabler, men jag hänvisar oftast till resultatet från föregående fråga. Ex. $tidigare_anvandare motsvarar alla user_id som använts i föregående frågor...

Provar med GROUP BY, så får vi se hur det går...
qson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-09-15, 14:39 #3
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Resultat:
Kod:
[0]=>
  object(stdClass)#105 (2) {
    ["user_id"]=>
    string(2) "63"
    ["category"]=>
    string(2) "10"
  }
  [1]=>
  object(stdClass)#106 (2) {
    ["user_id"]=>
    string(2) "63"
    ["category"]=>
    string(2) "20"
  }
  [2]=>
  object(stdClass)#107 (2) {
    ["user_id"]=>
    string(2) "63"
    ["category"]=>
    string(2) "30"
  }
  [3]=>
  object(stdClass)#108 (2) {
    ["user_id"]=>
    string(2) "92"
    ["category"]=>
    string(2) "40"
  }
Som ni ser får jag ju "samma" användare på de tre första kategorierna.
Egentligen är ju resultatet rätt, om man ser till frågan, för det är fyra DISTINCT-a rader.
Jag vill att ett user_id inte får förekomma mer än en gång....
qson är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 15:25.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017