Schum4k3r
18-07-2006, 11:19
Sto facendo un sito per un'esame universitario e ho un problema. Praticamente devo fare una ricerca tramite due select annidate(la seconda select dipende dalla scelta della prima, o puo essere del tutto indipendente). Sono riuscito a fare il tutto salvo il fatto che la ricerca mi funziona o su un campo, o sull'altro, ma non su entrambi.
Mi potreste gentilmente aiutare? grazie :D
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Casa Discografica</title>
</head>
<body>
<%
dim conn, rs, sqls
set conn = server.createobject("adodb.connection")
set rs = server.createobject("adodb.recordset")
conn.open = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\inetpub\wwwroot\cd\db.mdb"
rs.activeconnection = conn
sqls = "SELECT DISTINCT GENERE.Descrizione "
sqls = sqls & "FROM GENERE"
rs.open sqls, conn
%>
<form name="mainform1" method="post" action="cd.asp?clk=true">
<select name="selgenere" onChange="submit()">
<option value="default">Seleziona il genere</option>
<% do while not rs.eof %>
<option value="<%=rs("Descrizione")%>"><%=rs("Descrizione")%></option>
<%
rs.movenext
loop
%>
</select>
</form>
<% rs.close %>
<form name="mainform2" method="post" action="cd.asp?clk2=true">
<select name="selesecutore" onChange="submit()">
<option value="default">Seleziona l'esecutore</option>
<%
c = request.QueryString("clk")
c2 = request.QueryString("clk2")
if c or c2 then
gen = request.Form("selgenere")
sqls = "SELECT DISTINCT ESECUTORE.Descrizione "
sqls = sqls & "FROM (CD INNER JOIN ESECUTORE ON CD.Esecutore = ESECUTORE.Esecutore) "
sqls = sqls & "INNER JOIN GENERE ON CD.Genere = GENERE.Genere "
sqls = sqls & "WHERE (GENERE.Descrizione ='" & gen & "')"
else
sqls = "SELECT DISTINCT ESECUTORE.Descrizione "
sqls = sqls & "FROM ESECUTORE"
end if
rs.open sqls, conn
do while not rs.eof %>
<option value="<%=rs("Descrizione")%>"><%=rs("Descrizione")%></option>
<%
rs.movenext
loop
%>
</select>
</form>
<% rs.close %>
<br>
<form name="index" method="post" action="cd.asp">
<input type="submit" value="Reset">
</form>
<br>
<%
sqls = "SELECT CD.ID_CD, ESECUTORE.Descrizione as Esecutore, "
sqls = sqls & "GENERE.Descrizione as Genere, CD.Titolo, CD.note, CD.Immagine "
sqls = sqls & "FROM (CD INNER JOIN ESECUTORE ON CD.Esecutore = ESECUTORE.Esecutore) "
sqls = sqls & "INNER JOIN GENERE ON CD.Genere = GENERE.Genere "
if c then
gen = request.form("selgenere")
sqls = sqls & "WHERE (GENERE.Descrizione ='" & gen & "') "
end if
if c2 then
esec = request.Form("selesecutore")
sqls = sqls & "WHERE (ESECUTORE.Descrizione ='" & esec & "') "
end if
sqls = sqls & "ORDER BY ESECUTORE.Descrizione"
rs.open sqls, conn
%>
<table width="100%" border="1" bordercolor="#000000" cellpadding="1" cellspacing="1" frame="box">
<tr>
<td>ID_CD</td>
<td>Esecutore</td>
<td>Genere</td>
<td>Titolo</td>
<td>Note</td>
<td>Immagine</td>
</tr>
<% do while not rs.eof %>
<tr>
<td><%=rs("ID_CD")%></td>
<td><%=rs("Esecutore")%></td>
<td><%=rs("Genere")%></td>
<td><%=rs("Titolo")%></td>
<td><%=rs("Note")%></td>
<td align="center"><img src="img\<%=rs("Immagine")%>.jpg"></td>
</tr>
<%
rs.movenext
loop
%>
</table>
<%
rs.Close
conn.Close
%>
</body>
</html>
Mi potreste gentilmente aiutare? grazie :D
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Casa Discografica</title>
</head>
<body>
<%
dim conn, rs, sqls
set conn = server.createobject("adodb.connection")
set rs = server.createobject("adodb.recordset")
conn.open = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\inetpub\wwwroot\cd\db.mdb"
rs.activeconnection = conn
sqls = "SELECT DISTINCT GENERE.Descrizione "
sqls = sqls & "FROM GENERE"
rs.open sqls, conn
%>
<form name="mainform1" method="post" action="cd.asp?clk=true">
<select name="selgenere" onChange="submit()">
<option value="default">Seleziona il genere</option>
<% do while not rs.eof %>
<option value="<%=rs("Descrizione")%>"><%=rs("Descrizione")%></option>
<%
rs.movenext
loop
%>
</select>
</form>
<% rs.close %>
<form name="mainform2" method="post" action="cd.asp?clk2=true">
<select name="selesecutore" onChange="submit()">
<option value="default">Seleziona l'esecutore</option>
<%
c = request.QueryString("clk")
c2 = request.QueryString("clk2")
if c or c2 then
gen = request.Form("selgenere")
sqls = "SELECT DISTINCT ESECUTORE.Descrizione "
sqls = sqls & "FROM (CD INNER JOIN ESECUTORE ON CD.Esecutore = ESECUTORE.Esecutore) "
sqls = sqls & "INNER JOIN GENERE ON CD.Genere = GENERE.Genere "
sqls = sqls & "WHERE (GENERE.Descrizione ='" & gen & "')"
else
sqls = "SELECT DISTINCT ESECUTORE.Descrizione "
sqls = sqls & "FROM ESECUTORE"
end if
rs.open sqls, conn
do while not rs.eof %>
<option value="<%=rs("Descrizione")%>"><%=rs("Descrizione")%></option>
<%
rs.movenext
loop
%>
</select>
</form>
<% rs.close %>
<br>
<form name="index" method="post" action="cd.asp">
<input type="submit" value="Reset">
</form>
<br>
<%
sqls = "SELECT CD.ID_CD, ESECUTORE.Descrizione as Esecutore, "
sqls = sqls & "GENERE.Descrizione as Genere, CD.Titolo, CD.note, CD.Immagine "
sqls = sqls & "FROM (CD INNER JOIN ESECUTORE ON CD.Esecutore = ESECUTORE.Esecutore) "
sqls = sqls & "INNER JOIN GENERE ON CD.Genere = GENERE.Genere "
if c then
gen = request.form("selgenere")
sqls = sqls & "WHERE (GENERE.Descrizione ='" & gen & "') "
end if
if c2 then
esec = request.Form("selesecutore")
sqls = sqls & "WHERE (ESECUTORE.Descrizione ='" & esec & "') "
end if
sqls = sqls & "ORDER BY ESECUTORE.Descrizione"
rs.open sqls, conn
%>
<table width="100%" border="1" bordercolor="#000000" cellpadding="1" cellspacing="1" frame="box">
<tr>
<td>ID_CD</td>
<td>Esecutore</td>
<td>Genere</td>
<td>Titolo</td>
<td>Note</td>
<td>Immagine</td>
</tr>
<% do while not rs.eof %>
<tr>
<td><%=rs("ID_CD")%></td>
<td><%=rs("Esecutore")%></td>
<td><%=rs("Genere")%></td>
<td><%=rs("Titolo")%></td>
<td><%=rs("Note")%></td>
<td align="center"><img src="img\<%=rs("Immagine")%>.jpg"></td>
</tr>
<%
rs.movenext
loop
%>
</table>
<%
rs.Close
conn.Close
%>
</body>
</html>