Just nu i M3-nätverket
Gå till innehåll

Prenumeration på diskussionsgrupper


HasseBeC

Rekommendera Poster

Hej!

Jag skulle vilja att olika användare på en sajt skulle kunna prenumerera på olika diskussionsgrupper. Endast de poster som motsvarar användarens val av grupper ska hämtas ur databasen. (posterna från samtliga grupper ligger i samma tabell)

 

Önskelösningen för mig vore om varje användare i sina inställningar kunde kryssa för de grupper hon/han är intresserad av och sedan att posterna hämtas ur databasen baserat på användarens inställningar.

 

Problemet med denna lösning är att namnet på alla grupperna ligger i en annan tabell och antalet ska gå att ändra. Därför så måste även antalet kryssrutor med tillhörande rubriker variera. Detta ställer till problem då varje kryssruta är ett separat element i formuläret och därför bara går att koppla ihop med ett fält i databasen.

 

Det skulle ju gå om man skapade ett fält per kryssruta i databasen så att man bara anger TRUE/FALSE för varje diskussionsgrupp, men då så måste ju antalet grupper vara lika många hela tiden. Man ska ju inte behöva lägga till/ta bort ett nytt fält i databasen varje gång man ska lägga till/ta bort en grupp.

 

Lite luddigt förklarat kanske... Men jag hoppas att i alla fall någon förstår vad jag menar.

 

Tack på förhand!

 

/ Hans

Utvecklar ASP-system för skolor

 

[inlägget ändrat 2002-12-04 18:37:12 av HasseBeC]

Länk till kommentar
Dela på andra webbplatser

Jimmie Pettersson

Kan du inte lägga varje prenumeration som en post då?

 

Du kan ju skapa en table som heter prenumerationer med fälten ID(Auto_Increment),grupp,anvandare

 

Ex.

 

Vi säger att en person med ID 243 vill prenumerera på diskussionsgruppen med ID 12.

En ny post läggs till databasen med ett genererat ID, gruppid och sedan användarens ID. Sedan för att hämta posten så väljer du ut data där anvandare är lika med användarens ID och sedan hämtar du ut grupp ID och hämtar sedan ut det info användare vill ha. Kanske går att göra med inner join?

 

Jag håller på att lära mig SQL men jag kan försöka illustrera vad jag säger med en SQL sats.

 

"SELECT prenumerationer.grupp, prenumerationer.anvandare, grupp.namn, grupp.id FROM prenumerationer, grupp WHERE anvandare='användarens id' AND prenumerationer.grupp = grupp.id"

 

Jag tror inte att SQL satsen funkar men jag tror du förstår vad jag menar nu?

 

Jag kan ha förståt helt fel. Sitter och pluggar fysik. Man blir lite snurrig i kolan av det =)

 

MVH Jimmie Pettersson

 

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Tycker Jimmys förslag är helt rätt! Dock skall du inte ha med fältet ID i Prenumerationer tabellen då den är redundant. Låt istället GruppID och AnvandarID bilda unikt index tillsammans istället. Då garderar du dig även för att dubletter läggs in.

 

Problemet ligger nog snarare i hur man, på ett smart sätt, sparar ner alla grupper en användare har kryssat för, än hur tabellstrukturen skall se ut.

 

Jag har en ok funktion men den är anpassad för SPs. Säg till om du vill kika på den lösningen.

 

/foo

 

 

 

Länk till kommentar
Dela på andra webbplatser

Tack till er båda!

 

Det fungerade perfekt så som jag ville ha det... Jag hade inte tänkt på att göra prenumerationsinställningarna till en separat tabell.

 

Du frågar hur man ska spara ner alla grupperna man kryssat för. Det enklaste är ju troligen att man struntar i kryssrutorna och gör en tabell på inställningssidan som användaren med hjälp av en extra ASP-sida kan lägga till poster i. Då blir det även enkelt att presentera på en annan sida vilka grupper som man just nu är prenumerant på.

 

Tack återigen!

 

/ Gabs

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...