webForumDet fria alternativet

Får inte till loopen

ASP

7 svar · 547 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

I tblUsers har jag userID och krypincolor
I tblUsers_color har jag colorname och color

Hur ska jag få denna loop med min inner join att funka

<%set rs=objConn.Execute("select * from tblUsers_color INNER JOIN tblUsers ON tblUsers_color.color = tblUsers.krypincolor where userID="& session("userID") &" order by colorname")%>

<select class="textbox" name="bg">
	<option><%=rs("krypincolor")%></option>
 <%do until rs.eof%>
 	<option value ="<%=rs("color")%>">
		<%=rs("colorname")%>
	</option>
<%rs.movenext: loop%>
</select>
Medlem sedan dec. 19996 721 inlägg
#2

1. Hämta inte med *, utan bara de kolumner du behöver
2. Du får inte använda rs(....) utan loopen.
3. Vad vill du ha ut egentligen? Frågan kan ju bara ge en enda rad som svar.

Medlem sedan feb. 20032 027 inlägg
#3

jag vill loopa ut alla rader i tabellen tblUsers_color och när man har valt färg så vill jag att det förvalda värdet ska vara det som står i tabellen tblUsers

Medlem sedan dec. 19996 721 inlägg
#4
<%set rs=objConn.Execute("select color,colorname,userid from tblUsers_color LEFT JOIN tblUsers ON tblUsers_color.color = tblUsers.krypincolor AND userID="& session("userID") &" order by colorname")%>

<select class="textbox" name="bg">
 <%do until rs.eof%>
 	<option value ="<%=rs("color")%>" <%if not isnull(rs("userid")) then%>selected<%end if%>>
		<%=rs("colorname")%>
	</option>
<%rs.movenext: loop%>
</select>
Medlem sedan feb. 20032 027 inlägg
#5

fick fram att color var ambigious, när jag tog bort den så fick jag felet att ett objekt saknades, med * i select ser jag bara en av färgerna i listan

Medlem sedan dec. 19996 721 inlägg
#6

Då får du prefixa namnen i kolumnlistan så att de inte blir ambiguösa. SELECT c.color...

Medlem sedan feb. 20032 027 inlägg
#7

kommer bara till <%set rs=objConn.Execute("select c.color,colorname,userid from tblUsers_color c LEFT JOIN tblUsers u ON tblUsers_color.color = tblUsers.krypincolor where userID="& session("userID") &" order by colorname")%> innan jag har tappat bort mig, är inte bra på joins

Medlem sedan dec. 19996 721 inlägg
#8

SELECT-satsen har jag redan skrivit. Du behöver bara lägga till prefixen.

<%set rs=objConn.Execute("select c.color,c.colorname,u.userid from tblUsers_color c LEFT JOIN tblUsers u ON c.color = u.krypincolor AND u.userID="& session("userID") &" order by c.colorname")%>
251 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)