Frågan 14 okt. 2007 11:08 #1 Hej
Jag har fått ett problem med min dropdown meny. Jag listar år och månad i en dropdown meny. Men det funkar inte när jag vill lista alla år och alla månader . Försöker att använda %. Det funkar i Access men inte i MYSQL. Är det någon som vet???
Jag använder följande:
Databas: MYSQL 5.0
SPRÅK: ASP
PROGRAM: DREAMWEAVER C3
Min första dropdownmeny ser ut såhär
<select name="ar" id="ar">
<option value="%">Alla</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
</select>
Min andra dropdown meny
<select name="manad" id="manad">
<option value="%">Alla</option>
<option value="1">Januari</option>
<option value="2">Februari</option>
<option value="3">Mars</option>
<option value="4">April</option>
<option value="5">Maj</option>
<option value="6">Juni</option>
<option value="7">Juli</option>
<option value="8">Augusti</option>
<option value="9">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
Här kommer hela koden:
<%
Dim rsMatch__MMColParam1
rsMatch__MMColParam1 = "2007"
If (Request.QueryString("ar") <> "") Then
rsMatch__MMColParam1 = Request.QueryString("ar")
End If
%>
<%
Dim rsMatch__MMColParam2
rsMatch__MMColParam2 = "10"
If (Request.QueryString("manad") <> "") Then
rsMatch__MMColParam2 = Request.QueryString("manad")
End If
%>
<%
Dim rsMatch
Dim rsMatch_cmd
Dim rsMatch_numRows
Set rsMatch_cmd = Server.CreateObject ("ADODB.Command")
rsMatch_cmd.ActiveConnection = MM_bkolympic_STRING
rsMatch_cmd.CommandText = "SELECT spelprogram.MatchID, spelprogram.SpelDatum, spelprogram.SpelTid, spelprogram.SpelHemma, spelprogram.SpelBorta, spelprogram.SpelResultat, profilen.ProfilID, lagbk.LagNamn FROM profilen INNER JOIN ((lagbk INNER JOIN spelprogram ON lagbk.LagID = spelprogram.LagID) INNER JOIN sektion ON lagbk.LagID = sektion.LagID) ON profilen.ProfilID = sektion.ProfilID WHERE sektion.ProfilID = ? AND YEAR(spelprogram.SpelDatum) = ? AND MONTH(spelprogram.SpelDatum) = ? ORDER BY lagbk.LagSortera ASC, spelprogram.SpelDatum ASC, spelprogram.SpelTID ASC"
rsMatch_cmd.Prepared = true
rsMatch_cmd.Parameters.Append rsMatch_cmd.CreateParameter("param1", 5, 1, -1, rsMatch__MMColParam) ' adDouble
rsMatch_cmd.Parameters.Append rsMatch_cmd.CreateParameter("param2", 5, 1, -1, rsMatch__MMColParam1) ' adDouble
rsMatch_cmd.Parameters.Append rsMatch_cmd.CreateParameter("param3", 5, 1, -1, rsMatch__MMColParam2) ' adDouble
Set rsMatch = rsMatch_cmd.Execute
rsMatch_numRows = 0
%>
P pebi Medlem sedan jan. 2005 327 inlägg Nu är jg nog inte bäst lämpad att svara, jag jobbar ju nästan bara med MS databser.
Men eftersom det gått ett tag och ingen har gett dig ett svar så kan du väl få lite ideer från mig iallafall.
Och om du verkligen menar att använda %, så måste du väl använda like och inte =, jag skulle tro att även mySQL funkar så.
Annasrs söker du väl rimligen på den exakta strängen %
Men annars känns det väl bättre att strunta i månads vikoret om man väljer "alla" snarare än en resurskrävande like sökning.
/pebi
Jag löste det själv. Använde LIKE och tog bort % i dropdown menyn.