Just nu i M3-nätverket
Gå till innehåll

Sql-problem med Select-meny


Micke_skane

Rekommendera Poster

Micke_skane

Hej,

 

Försökt få till en Sql-sats som hämtar ut poster enligt vad man väljer för månad.

Sql-satsen är väldigt enkel men Ändå fungerar det Inte.

Tanken är att Alla poster ska skrivas ut då man kommer in på sidan och att man Sedan ska kunna välja månad.

Det konstiga är att Sql-satsen som jag skrivit ut ger:

[color="#0000ff"]Select[/color] manad, fornamn, efternamn, alder, kon, postnummer, stad, epost From tavling_statistik Where manad = [color="#006400"]'Alla' [/color]

 

och detta sker då man Kommer in på sidan, alltså då man Inte gjort nått val.

 

Här är hela koden:

(Sidan hämtar/visar)

[log]

<body>

 

<form action="visa_statistik.asp" method="post" name="visa_stat">

Månad:

<select name="visa_manad" class="text_meny">

<option value="Alla" SELECTED>Alla

<option>-------------------

<option value="Januari">Januari

<option value="Februari">Februari

<option value="Mars">Mars

<option value="April">April

<option value="Maj">Maj

<option value="Juni">Juni

<option value="Juli">Juli

<option value="Augusti">Augusti

<option value="September">September

<option value="Oktober">Oktober

<option value="November">November

<option value="December">December

</select>

<input type="submit" value="Visa statistik" name="stat_knapp" class="text_meny">

</form>

 

<%

 

'#=========Databasanslutning============#

Set Conn = Server.CreateObject("ADODB.Connection")

ConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db2/tavlingen.mdb")

Conn.Open ConnString

 

'#=====Kolla månad======#

If Request("visa_manad ") <> "Alla" Then

sSql = "Select manad, fornamn, efternamn, alder, kon, postnummer, stad, epost From tavling_statistik Where manad = '"& TRIM(Request("visa_manad")) &"'"

Else

sSql = "Select manad, fornamn, efternamn, alder, kon, postnummer, stad, epost From tavling_statistik"

End If

Response.Write sSql

'Set rs = Conn.Execute(sSql)

%>

 

<div id="visa_statistik_allt" class="visa_statistik_allt" style="position:absolute; top:150">

<table border="0" cellpadding="0" cellspacing="0" class="text_meny">

 

<%

Do Until rs.EOF

%>

<tr>

<td>Tävlande</td>

<td>Månad</td>

</tr>

<tr>

<td>

<%=rs("fornamn")%> <%=rs("efternamn")%><br>

<%=rs("alder")%><br>

<%=rs("kon")%><br>

<%=rs("postnummer")%><br>

<%=rs("stad")%><br>

<a href="mailto:<%=rs("epost")%>"><%=rs("epost")%></a>

</td>

<td bgcolor="#f9f9f9"><%=rs("manad")%></td>

</tr>

<tr>

<td> </td>

</tr>

 

<%

rs.MoveNext

Loop

%>

</table>

</div>

 

<%

rs.Close

Set rs = Nothing

Conn.Close

Set Conn = Nothing

%>

</body>

[/log]

 

Månaderna finns i en text-ruta i databasen som t ex Januari, Februari...

Jag kan inte längre se någon logisk förklaring. Behöver ett bollplank :)

Är där Någon som ser Varför Sql-satsen är Where manad = "Alla"?

 

Micke

 

[inlägget ändrat 2005-05-25 12:50:39 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Morsning!

Testa med att ändra if-satsen till:

 

'#=====Kolla månad======#

If trim(Request("visa_manad ")) = "" OR trim(Request("visa_manad ")) = "Alla" Then

sSql = "Select manad, fornamn, efternamn, alder, kon, postnummer, stad, epost From tavling_statistik"

Else

sSql = "Select manad, fornamn, efternamn, alder, kon, postnummer, stad, epost From tavling_statistik Where manad = '"& TRIM(Request("visa_manad")) &"'"

End if

 

Detta beroende på att när man kommer till sidan så är ju visa_manad tom.

En sak till. Lägg gärna alla request i variabler enligt:

 

dim strVisaManad

strVisaManad = trim(request("visa_manad"))

 

Detta ser bättre ut och gör att du kan manipulera variabeln ifall du vill, typ:

 

dim strVisaManad

strVisaManad = trim(request("visa_manad"))

if strVisaManad = "" then

strVisaManad = "ALLA"

end if

 

Hoppas att detta hjälper.

/donRollo

 

 

Länk till kommentar
Dela på andra webbplatser

Micke_skane

Hej donRollo,

 

Testade Ditt förslag men det ville sig inte...

Det gör inte så mycket för jag fått det att fungera med en liknade sats.

 

Dina tankar/tips om variabler ska jag titta på för det verkade smart, men så är Du en smart peron oxå :)

 

Tack ändå!!!

Det vet att jag uppskattar justa personer :thumbsup:

 

Ha det så länge!

Micke

 

 

Länk till kommentar
Dela på andra webbplatser

Anjuna Moon

Ditt problem beror på att du i din if-sats fått in ett mellanslag efter fältnamnet "visa_manad":

 

[color="#0000ff"]If[/color] [b]Request[/b]([GRÅ]"visa_manad "[/GRÅ]) <> [GRÅ]"Alla"[/GRÅ] [color="#0000ff"]Then[/color]

 

Ändra till:

[color="#0000ff"]If[/color] [b]Request[/b]([GRÅ]"visa_manad"[/GRÅ]) <> [GRÅ]"Alla"[/GRÅ] [color="#0000ff"]Then[/color]

 

Länk till kommentar
Dela på andra webbplatser

Micke_skane

Hej,

 

Japp, det var det "lilla" som gjorde det!

Såg det verkligen inte! Då jag läste koden förväntade jag mig Vad där skulle stå så jag svepte över mellanslaget!

 

Stort Tack :thumbsup:

 

Ha det!

 

Micke

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...