webForumDet fria alternativet

Problemlösning

1 svar · 168 visningar · startad av AG

AGMedlem sedan mars 20001 229 inlägg
#1

Detta är mitt problem
Jag har tre tabeller.
URLS, LOGS och REPORT
Tabellen URLS:
id - räknare
iduser – intvärde, vilken användare fältet tillhör
site – urladress

Tabellen LOGS:
id - räknare
idurl - vilket Id tillhör den, från URLS
moment - datumfält
status - intvärde

Tabellen REPORT:
id - räknare
idurl - vilket IdUrl tillhör den, från LOGS
moment - datumfält
uptime - intvärde

Tabellen Logs krymps varje dag ihop till tabellen Report via ett externt program.

Det jag behöver hjälp med är som följer.

Värdet IdUser sätts när en användare loggar in. Det gör att jag på ett säkert sätt kan plocka ut värden från den tabellen URLS.
Saken är den att jag vill göra det säkert att plocka värden från de andra tabellerna också. Här är det ju endast fältet IdUrl som jag kan jämföra med. Ett osäkert sätt eftersom detta måste gå som querystring.

Hur skulle ni lösa ett sådant här problem, har ej tillgång till källkoden, så jag kan inte lägga till ett IdUser-fält till dessa tabeller. Så det jag kan arbeta med är sqlsatser. Hur skulle ni lösa detta?

Tack
Andreas

Engine^Medlem sedan dec. 20002 861 inlägg
#2

Om tabellen URLS inte har någon relation till varken LOGS eller REPORT, så går det inte. Är däremot kolumnen id samma för alla tre tabellerna är det en annan femma :)

Du nämnde querystring, så jag antar följande:

strSQL = "SELECT tL.*, tR.*, tU.*
FROM (URLS As tU INNER JOIN REPORT AS tR ON tR.id = tU.id)
INNER JOIN LOGS As tL ON (tL.id = tU.id)
WHERE tU.iduser = "& Request.QueryString("IdUser") &";"
Genererad på 383 ms · cache AV · v20260730165559-full.f96bc7eb