webForumDet fria alternativet

Knyta samman data från olika tabeller

ASP

5 svar · 204 visningar · startad av qwerty

Medlem sedan jan. 2001391 inlägg
Frågan#1

Så här ligger det till:

Jag har en annonsmarknad där man kan publicera sina annonser. När man har skrivit in den får man se hur den kommer att se ut. Man kan då välja om man vill redigera sin annons. Jag vill då att man ska komma till en sida med en lista över alla annonser som just den användaren skrivit.
Användaren har loggat in och "satt" en sessionvariabel till true. Annonserna finns i en tabell i databasen och lösenord och personuppgifter i en annan.

Själva frågan:
Hur ska jag kunna knyta samman annonser och användarnamn. När man väl har blivit inloggad kan jag väl inte veta vem(vilket användarnamn) som lagt in annonserna.

Kan man på något sätt vid inloggningen spara användarnamnet eller id i en variabel för att sedan använda detta för att kunna filtrera bort andras annonser?

Alternativt skulle man kunna tänka sig att det skulle räcka att man skrev ut namnet på vem som har lagt in annonsen i redigeringslistan, eftersom det är ett slutet sällskap där ingen skulle radera andras annonser, men man kommer väl ändå inte runt problemet ovan?

Känner att detta kanske blev lite luddigt, fråga om något är oklart vad jag menar.

------------------
Qwerty

Det blir som förut fast utan lön, sa han som gifte sig med hushållerskan...

Medlem sedan juni 2001206 inlägg
#2

Relationer, skapa t.ex. ett fält i annonstabellen som heter userID som har en relation till ID (räknaren) i adnvändartabellen. Alltså ID:t i användartabellen för en användare ska vara samma nummer som i userID i annonstabellen om denne lagt in någon annons. Du kan lägga användarinformationen i Sessions.

Sen gör du en SQL-sats liknande denna:

SQL = "SELECT a.*, u.* FROM annonser a INNER JOIN users u ON a.userID = u.ID WHERE u.ID = '" & Session("UserID") & "'"

Edit: Uppdaterad IGEN...

------------------
MVH
Harback

[Redigerat av Harback den 08 aug 2001]

Medlem sedan jan. 2001391 inlägg
#3

Blir det automatiskt samma eller hur ska jag lägga till numret i userid-fältet i annonstabellen?

------------------
Qwerty

Det blir som förut fast utan lön, sa han som gifte sig med hushållerskan...

Medlem sedan juni 2001206 inlägg
#4

Du har ju UserID i Sessionen och då lägger du bara in det som vanligt annonstabellen.

RecSet("userID") = Session("userID")

------------------
MVH
Harback

Medlem sedan jan. 2001391 inlägg
#5

Så här ser det ut nu:

Session("inloggad") = "yes"

På varje sida kollar jag ju sen om session("inloggad") är satt till yes.

Kan man ha flera sessions igång samtidigt?

Skulle man då kunna göra så här:

Session("inloggad") = "yes"
Session("id") = rs(id)

------------------
Qwerty

Det blir som förut fast utan lön, sa han som gifte sig med hushållerskan...

Medlem sedan dec. 19998 577 inlägg
#6

Ja, du kan ha många sessioner igång, det är precis som variabler fast i session-state.

Med du höver ju inte ha två, bara en med idnummret i:
Session("id") = rs("id")

Sedan kollar du på varje sida:

If Session("id") = "" Then
Response.redirect "fel.asp"
End If

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

273 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)