webForumDet fria alternativet

Problem med checkboxlista

2 svar · 193 visningar · startad av ekke_t

ekke_tMedlem sedan juli 2001203 inlägg
#1

Tjena!

Hur gör man för att ur en SQL-databas få ut värden (ex. 0 och 1) för att fylla i en checkboxlista...

Jag har alltså tre tabeller:

tblContact_con {
intId
strName
}

tblCon_Link_Typ_clt {
intId_con
intId_typ
}

tblContactType_typ {
intId
strName
}

och jag vill plocka ut en lista på vilka typer en viss kontakt är kopplad till... jag vill ha ut en 1:a i recordsetet om den är kopplad och en 0:a om den inte finns med... Det borde ju gå med nån slags LEFT JOIN eller nåt... men jag kan inte komma på hur...

Nån som vet??

ekke_tMedlem sedan juli 2001203 inlägg
#2

Löste det själv.... det blev lite avancerat... ;)

SELECT typ.intId, typ.strName, 1
FROM tblContactType_typ typ LEFT JOIN
    tblCon_Link_Typ_clt clt ON typ.intId = clt.intId_typ
WHERE clt.intId_con = 5
UNION
SELECT typ.intId, typ.strname, 0
FROM tblContactType_typ typ LEFT JOIN
    tblCon_Link_Typ_clt clt ON typ.intId = clt.intId_typ
WHERE typ.intId NOT IN
        (SELECT typ.intId
      FROM tblContactType_typ LEFT JOIN
           tblCon_Link_Typ_clt ON 
           typ.intId = clt.intId_typ
      WHERE clt.intId_con = 5)
ORDER BY strName
LarsGMedlem sedan dec. 200012 464 inlägg
#3
q = "select case when intId_con is null then '' else 'checked' end," strName & _
" from tblContactType_typ left join tblCon_Link_Typ_clt on " & _
" intid = intid_typ and intId_con = " & intIdCon
set rs = connect.execute (q)
while not rs.eof
response.write "<input type = 'check' name='Chkbox' value='" & rs("strname") & "' " & rs(0) & ">"
rs.movenext
wend

Det finns inte stöd för case i alla DBMS, så om du har t.ex. Access så får man skriva om det.

123 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)