webForumDet fria alternativet

Problem med dropdown

7 svar · 294 visningar · startad av zlakker

zlakkerMedlem sedan apr. 2001227 inlägg
#1

Jag behöver lite hjälp med att få en dropdown att fungera.
När man väljer något i listan så ska viss information visas.
Hur ska man få till kopplingen mellan "listan" och vad man väljer i dropdownlistan.

Jag undrar också om det går att ha en knapp som man måste trycka på för att den ska visa informationen.

Det borde väl vara någonstans där jag skriver frågetecknen för att den ska hämta det man valt.


<%	If Request.QueryString("alt") = "viewdealer" Then %>
		
		<% Visa = "SELECT * FROM tblCountry"
		   RecSet.Open Visa, Connect, 3, 3 %>
			<form name="country">
			<select name="country">
					
		<%	Do While Not RecSet.EOF %>
			<option value="<%=RecSet("countryswe")%>"><%=RecSet("countryswe")%></option>
						
		<%	RecSet.MoveNext
			Loop %>
			</select>
			</form>
		<%	RecSet.Close
			 %>
		
		
		
		
		<% Visa = "SELECT * FROM tblContact WHERE country = '?????????????'"
		   RecSet.Open Visa, Connect, 3, 3 %>
		
			<table border="0" cellpadding="4" cellspacing="2">
		
			<tr>
			<td bgcolor="#F3F3F3" width="130"><font size="1" face="verdana, arial"><b>Företagsnamn</b></font></td>
			<td bgcolor="#F3F3F3" width="110"><font size="1" face="verdana, arial"><b>Adress</b></font></td>
			<td bgcolor="#F3F3F3" width="180"><font size="1" face="verdana, arial"><b>Telefon</b></font></td>
			<td bgcolor="#F3F3F3" width="68" align="center"><font size="1" face="verdana, arial"><b>Mer info</b></font></td>
			</tr>
		
		<%	Do While Not RecSet.EOF %>
		
			<tr>
			<td><font size="1" face="verdana, arial"><% =RecSet("Name") %></font></td>
			<td><font size="1" face="verdana, arial"><% =RecSet("mail") %></font></td>
			<td><font size="1" face="verdana, arial"><a href="mailto:<% =RecSet("Mail") %>"><% =RecSet("Mail") %></a></font></td>
			<td align="center"><font size="1" face="verdana, arial"><% =RecSet("Phone") %></font></td>
			<td align="center"><font size="1" face="verdana, arial"><a href="admin_contact.asp?userid=<% =RecSet("Name") %>&alt=edit">Redigera</a></font></td>
			</tr>
			
		<%	RecSet.MoveNext
			Loop %>
			</table>
		<%	RecSet.Close
			End If %>
@ndersMedlem sedan juni 200032 969 inlägg
#2

Din dropdown ligger i ett formulär. Lägg till action, method och en submitknapp, och posta formuläret när man gjort sitt val. Sedan använder du Request.Form eller Request.Querystring beroende på vilken metod du valt, för att hämta in värdet till SQL-frågan på sidan som din action pekar på.

zlakkerMedlem sedan apr. 2001227 inlägg
#3

skriver man det såhär?

country= " & request.form("country") & ""

eller måste man ha något mer?

@ndersMedlem sedan juni 200032 969 inlägg
#4

Det beror på.

J.N.Medlem sedan apr. 20031 660 inlägg
#5

HEJ!

zlakker skrev:

eller måste man ha något mer?

Du kan faktiskt ha mindre, är värdet siffror kan du ta bort & "".

OM du däremot (vilket jag tycker är dumt) använder text i värdet, måste du ha ... country="' & request.form("country") & "'"

zlakkerMedlem sedan apr. 2001227 inlägg
#6

Får detta felmeddelande

Microsoft OLE DB Provider for ODBC Drivers fel '80040e10'

[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.

/public_contact.asp, rad 93

och såhär ser raderna ut

92 <% Visa = "SELECT * FROM tblContact WHERE country=" & request.form("country") & "'"
93 RecSet.Open Visa, Connect, 3, 3 %>

och felmeddelandet

Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'

[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'country ='.

/public_contact.asp, rad 93

om koden är:

<% Visa = "SELECT * FROM tblContact WHERE country = "' & request.form("country") & "'"
RecSet.Open Visa, Connect, 3, 3 %>
J.N.Medlem sedan apr. 20031 660 inlägg
#7

HEJ!

Det är inte lätt att se i min kod, men du ska ha enkelfnutt-dubbelfnutt precis som vanligt när det är strängar.

Byt plats på dem alltså!

I ditt första försök har du missat fnutten helt till vänster om, därför är det fel.

I ditt andra hänger inte slutenkel-fnutten ihop med slutdubbelfnutten, utan med den vänstra. Då förstår du varför det är fel ordning på vänstra sidan.

zlakkerMedlem sedan apr. 2001227 inlägg
#8

TACK det fungerade!

Lösningen blev alltså:

<% Visa = "SELECT * FROM tblContact WHERE country = '" & request.form("country") & "'"
 RecSet.Open Visa, Connect, 3, 3 %>
261 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
129 ms — hämta forumlista (db)
130 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)