Salve ragazzi ho un piccolo problema con l'asp, non sono molto pratico, ci ho da poco messo le mani.
Andate a vedere la pagina cliccando QUI
Questa pagina visualizza i dati contenuti nel mio database di prova. Ora voglio mettere un form che, inserita una data e premuto INVIA, mi ricarica la stessa pagina però solo con i dati che contengono quella data.
Il codice che io ho è il seguente, ma è da correggere purtroppo non so come perke sono poco pratico, lo preso da una pag già esistente. Il form dalla pagina l'ho tolto, era un form che si inserivano due campi, o categoriaFind o dataFind, per cercare in base alla categoria o data. Poi nella parte ASP c'è il resto...mi aiutate a capire come posso risolvere il problema facendo vedere i dati in base ai valori inseriti??????
CODICE PAGINA ATTUALE
Codice PHP:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%If Session("ok") = true Then
else
Response.Redirect "login.asp"
End If%>
<%
four="4"
falso=false
dim cn
set cn =server.CreateObject("adodb.connection")
cn.open"driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("mdb-database/armandosfarm.mdb")
dim rst
set rst=server.CreateObject("adodb.recordset")
rst.activeConnection=cn
rst.source="SELECT * FROM lavoro ORDER by id desc"
rst.cursortype=1
rst.cursorlocation=3
rst.locktype=3
dim sqlSTR
categoriaFind=request.Form("categoriaFind")
dataFind=request.Form("dataFind")
if dataFind="" then
dataFind=request.QueryString("dataFind")
end if
if categoriaFind="" then
categoriaFind=request.QueryString("categoriaFind")
end if
'la variabile è uno switch, un campo di controllo che permette, avendo concatenato già la stringa, di evitarne la ripetizione
dim sv
'concatenazione di campi che pesca il primo campo utili per comporre la select giusta
sqlstr = "SELECT * FROM lavoro WHERE"
if categoriaFind<>"" then
sqlstr = sqlstr & " categoria LIKE '%"& replace(categoriaFind,"'","''")&"%'"
sv=1
elseif dataFind<>"" then
sqlstr = sqlstr & "and data LIKE '%"& replace(dataFind,"'","''")&"%'"
sv=2
end if
'componiamo la select finale con i campi passati da un form
if trim(categoriaFind)<>"" and sv<>1 then
sqlSTR=sqlSTR&"and categoria LIKE '%"& replace(categoriaFind,"'","''")&"%'"
end if
if trim(dataFind)<>"" and sv<>2 then
sqlSTR=sqlSTR&" And data LIKE '%"& replace(dataFind,"'","''")&"%'"
end if
rst.open ()
'creo una variabile boleana che diventa vera se il recordset non contiene dati
dim noNotizie
noNotizie=false
'se il recordset è finito il valore di noNotizie è vero
if rst.EOF then
noNotizie=true
end if
%>
<%
'ricezione del parametro nav
nav=request("nav")
'ricezione del parametro PgNum
'se stiamo alla prima visualizzazione della navigazione e non è possibile ricevere il parametro pgnum questo diventa uguale a 1
if request("PgNum") = "" then
PgNum=1
else
PgNum =request("PgNum")
end if
%>
<%if noNotizie then%>
<% else%>
<%
'ricezione del valore di rpp da un form (elenco-menu)
rpp=request.Form("rpp")
'se rpp non ha valore, verificare se esiste un valore pervenuto da un link
if rpp="" then
rpp=request.QueryString("rpp")
end if
'se rpp non ancora un valore mette di default 2 (record per pagina)
if rpp="" then
rpp=2
end if
rst.pagesize=rpp%>
<%'gestione della paginazione
if nav="successivo" or nav="ultimo" or nav="precedente" or nav="primo" then
select case nav
case"precedente"
if PgNum>1 then
Pgnum=PgNum-1
else
Pgnum=1
end if
case "primo"
PgNum=1
case "successivo"
if rst.absolutepage < rst.pagecount then
pgNum = pgNum+1
else
pgNum = rst.pagecount
end if
case "ultimo"
pgNum = rst.pagecount
'case else
'pgNum=1
end select
end if
if rst.absolutepage ="" then
rst.absolutepage=2
else rst.absolutepage = pgNum
end if
%>
<%end if%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>rapporto servizio n</title>
</head>
<body>
<div align="left">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><form action="VisualizzaImporti.asp?categoriaFind=<%=categoriaFind%>&dataFind=<%=dataFind%>" method="post" name="setta_record" id="setta_record">
<span class="testo">Inserimenti da visualizzare per pagina</span>
<select name="rpp" id="rpp">
<option value="<%=rpp%>" selected><%=rpp%></option>
<option value="2">2</option>
<option value="5">5</option>
<option value="10">10</option>
</select>
<input type="submit" name="Submit" value="Go">
</form></td>
</tr>
</table>
<table width="470" border="0" cellpadding="0" cellspacing="1" bgcolor="#999999" class="menu">
<tr>
<td width="101" bgcolor="#FFFFFF" class="testo">[b]<%=rst.recordcount%> [/b] Inserimenti</td>
<td width="114" bgcolor="#FFFFFF" class="testo">Pagina[b]
<% =Pgnum%>
[/b] di[b]
<% =rst.pagecount%>
[/b]</td>
<% if pgNum=1 and pgNum<rst.pagecount then%>
<td width="20" bgcolor="#FFFFFF"></td>
<td width="20" bgcolor="#FFFFFF"></td>
<td width="20" bgcolor="#FFFFFF" class="link"><div align="center">[url="VisualizzaImporti.asp?PgNum=<%=PgNum%>&nav=successivo&rpp=<%=rpp%>&idFind=<%=idFind%>&dataFind=<%=dataFind%>&provenienzaFind=<%=provenienzaFind%>&clienteFind=<%=clienteFind%>"]>[/url]</div></td>
<td width="20" bgcolor="#FFFFFF" class="link"><div align="center">[url="VisualizzaImporti.asp?PgNum=<%=PgNum%>&nav=ultimo&rpp=<%=rpp%>&idFind=<%=idFind%>&dataFind=<%=dataFind%>&provenienzaFind=<%=provenienzaFind%>&clienteFind=<%=clienteFind%>"]>>[/url]</div></td>
<% elseif pgNum>1 and pgNum<rst.pagecount then%>
<td width="20" bgcolor="#FFFFFF" class="link"><div align="center">[url="VisualizzaImporti.asp?PgNum=<%=PgNum%>&nav=primo&rpp=<%=rpp%>&idFind=<%=idFind%>&dataFind=<%=dataFind%>&provenienzaFind=<%=provenienzaFind%>&clienteFind=<%=clienteFind%>"]<<[/url]</div></td>
<td width="20" bgcolor="#FFFFFF" class="link"><div align="center">[url="VisualizzaImporti.asp?PgNum=<%=PgNum%>&nav=precedente&rpp=<%=rpp%>&idFind=<%=idFind%>&dataFind=<%=dataFind%>&provenienzaFind=<%=provenienzaFind%>&clienteFind=<%=clienteFind%>"]<[/url]</div></td>
<td width="20" bgcolor="#FFFFFF" class="link"><div align="center">[url="VisualizzaImporti.asp?PgNum=<%=PgNum%>&nav=successivo&rpp=<%=rpp%>&idFind=<%=idFind%>&dataFind=<%=dataFind%>&provenienzaFind=<%=provenienzaFind%>&clienteFind=<%=clienteFind%>"]>[/url]</div></td>
<td width="20" bgcolor="#FFFFFF" class="link"><div align="center">[url="VisualizzaImporti.asp?PgNum=<%=PgNum%>&nav=ultimo&rpp=<%=rpp%>&idFind=<%=idFind%>&dataFind=<%=dataFind%>&provenienzaFind=<%=provenienzaFind%>&clienteFind=<%=clienteFind%>"]>>[/url]</div></td>
<% elseif pgNum>1 and pgNum<=rst.pagecount then%>
<td width="20" bgcolor="#FFFFFF" class="link"><div align="center">[url="VisualizzaImporti.asp?PgNum=<%=PgNum%>&nav=primo&rpp=<%=rpp%>&idFind=<%=idFind%>&dataFind=<%=dataFind%>&provenienzaFind=<%=provenienzaFind%>&clienteFind=<%=clienteFind%>"]<<[/url]</div></td>
<td width="20" bgcolor="#FFFFFF" class="link"><div align="center">[url="VisualizzaImporti.asp?PgNum=<%=PgNum%>&nav=precedente&rpp=<%=rpp%>&idFind=<%=idFind%>&dataFind=<%=dataFind%>&provenienzaFind=<%=provenienzaFind%>&clienteFind=<%=clienteFind%>"]<[/url]</div></td>
<td width="20" bgcolor="#FFFFFF"></td>
<td width="20" bgcolor="#FFFFFF"></td>
<%end if%>
</tr>
</table>
<%
for ciclo = 1 to rst.pagesize
%>
<%if rst.EOF then%>
<table width="400" border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="500" class="testo">Nessun inserimento trovato </td>
</tr>
</table>
<% exit for%>
<%end if %>
<table width="800" border="1" cellpadding="5" cellspacing="1" bgcolor="#999999">
<tr><td>ID</td><td>DATA</td><td>CATEGORIA</td><td>DATA PREVISTA</td><td>DESCRIZIONE</td><td>IMPORTO</td></tr>
<tr>
<td bgcolor="#FFFFFF" class="testo">
<% =rst("id")%>
</td>
<td bgcolor="#FFFFFF"><span class="testo">
<% =rst("data")%>
</span></td>
<td bgcolor="#FFFFFF"><span class="testo">
<% =rst("categoria")%>
</span></td>
<td bgcolor="#FFFFFF"><span class="testo">
<% =rst("dataprevista")%>
</span></td>
<td bgcolor="#FFFFFF" class="sintesi"><span class="testo">
<% =rst("descrizione")%>
</span></td>
<td bgcolor="#FFFFFF" class="testo">
<% =rst("importo")%>
</td>
</tr>
<%
rst.movenext
'ripeto il ciclo
if rst.EOF then
exit for
end if
next
%>
</table>
</p>
</div> </body>
</html>
<% rst.close ()
set rst= nothing
cn.close ()
set cn= nothing
%>