15 messaggi dal 15 gennaio 2002
Vorrei sapere come posso effettuare una ricerca nel Database utilizzando operatori di confronto <>=.
In pratica in un archivio in cui sono registrati utenti con i seguenti campi:

ID
NOME
COGNOME
ETA

ed io volessi creare un RecordSet con tutti quelli aventi una eta minore di 30 anni come posso fare?


725 messaggi dal 31 agosto 2001
Così dovrebbe andare:

<%
' codice

tuaEta = 30
strSQL = "SELECT nome, cognome, eta FROM tua_tabella WHERE eta <= " & tuaEta

'codice
%>

<% Tutto è complesso prima di essere semplice %>
15 messaggi dal 15 gennaio 2002
Ok!
Poi ho provato a fare una Ricerca all'interno del database dando un range di valori possibili, per esempio dicendo tutti quelli con eta compresa tra i 20 ed i 30.

Lo script è il seguente ed è funzionante.

<%
Response.write "<BODY bgcolor='#CCCC99' text='#000000' link='#FF0000' vlink='#800000' alink='#FF0000'>"

dim Conn, strConn, page, RecPerPag, TotRec, Dove, strRicerca

Dove= Server.MapPath("AgDatabase")

strConn="Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & Dove & "\ragazze.mdb"

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

RecPerPag=6

page= Request("page")

if page="" then page=1

strRicerca= Request("ricerca")

SQL = "SELECT * FROM Ragazze_tbl WHERE Eta < 33 AND Eta > 22"

Set rs= Server.CreateObject("ADODB.Recordset")

rs.Open SQL, Conn, 1, 1, 1

rs.PageSize=RecPerPag

rs.AbsolutePage = page

TotRec=rs.RecordCount

If TotRec=0 then
Response.write "<P>Nessun record presente</P>"
Else
Response.write "<P> " & TotRec & " Risultati trovati</P>"
Response.write "<CENTER><TABLE border=1 width='100%'>"
For i=1 to RecPerPag
if Not rs.EOF then

if i=1 then
Response.write "<TR>"
Else
if i=4 then
Response.write "</TR><TR>"
End if
End if

'Mostra record corrente
Response.write "<TD width='16%'><CENTER><a href='Zoom.asp?IdPassed=" & rs("Id") & "&' target='_blank'><IMG border=0 src='"& Dove & "\Foto\" & rs("Fotosmall") &"'></A></CENTER></TD>"
Response.write "<TD width='16%'><FONT face='Arial, Helvetica, sans-serif' size='2'><a href='Zoom.asp?IdPassed=" & rs("Id") & "&' target='_blank'> REF: " & rs("Id") & "</A></FONT><BR>"
Response.write "<BR><FONT color='blue'> " & rs("Nome")
Response.write "<BR> "
Response.write "<BR> " & rs("Eta") & " anni</FONT></TD>"

'Vai al record successivo
rs.movenext
end if
Next
Response.write "</TR></TABLE></CENTER>"
End if


If TotRec > 0 then

Response.Write "<P><B>Pagine:</B> "

For p=1 to rs.PageCount

If p <> CInt(Page) then
Response.Write "<A href='ricerca.asp?page=" & p
Response.Write "&" & Server.UrlEncode(strRicerca)
Response.write "'>"
Else
' pagina attuale
Response.Write "<B>"
End if

Response.Write p

If p <> CInt(Page) then
Response.Write "</A> "
Else
Response.Write "</B> "
End if

Next

Response.Write "</P>"

End if

%>

<hr>

<%

' liberiamo le risorse
Rs.Close
Set Rs = Nothing

conn.Close
set conn = Nothing


%>

Ora con l'aiuto di qualcuno vorrei modificarlo in modo che al posto di valori fissi utilizzi delle variabili in ingresso che definiscono il range delle eta , ETA_DA, ETA_A.
In effetti ci ho già provato ma non funziona...

Aiuutttoooo

725 messaggi dal 31 agosto 2001
Se non ho interpretato male la tua richiesta ti basterà crare una pagina che contenga una FORM con una TEXTBOX dove l'utente digiterà il valore, dopo di che recuperi il tutto con un Request.Form e tutto è risolto!

<% Tutto è complesso prima di essere semplice %>
15 messaggi dal 15 gennaio 2002
Ok adesso funziona tutto bene:

Questo è lo script, se a qualcuno potrà in futuro servire...

<%
Response.write "<BODY bgcolor='#F7C598' text='#000000' link='#FF0000' vlink='#800000' alink='#FF0000'>"

dim Conn, strConn, page, RecPerPag, TotRec, Dove, strRicerca, Eta_da, Eta_a

Dove= Server.MapPath("AgDatabase")

strConn="Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & Dove & "\ragazze.mdb"

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

RecPerPag=6

page= Request("page")
Eta_da= Request("Eta_da")
Eta_a= Request("Eta_a")

if page="" then page=1
if Eta_da="" then Eta_da=CInt(18)
if Eta_a="" then Eta_a=CInt(100)


SQL = "SELECT * FROM Ragazze_tbl WHERE Eta >= " & Eta_da & " AND Eta <= " & Eta_a & " ORDER BY Eta ASC, Cognome ASC"

Set rs= Server.CreateObject("ADODB.Recordset")

rs.Open SQL, Conn, 1, 1, 1

TotRec=rs.RecordCount

If TotRec=0 then
Response.write "<P>Nessun record presente</P>"
Else
Response.write "<CENTER><P> <span style='background-color: #808000'><font color='#FFFF00'> " & TotRec & " </font><font color='white'> Risultati trovati</FONT></span></P></CENTER>"

Response.write "<CENTER><TABLE border=1 width='100%' bgcolor='#F6B678'>"

rs.PageSize=RecPerPag

rs.AbsolutePage = page


For i=1 to RecPerPag
if Not rs.EOF then

if i=1 then
Response.write "<TR>"
Else
if i=4 then
Response.write "</TR><TR>"
End if
End if

'Mostra record corrente
Response.write "<TD width='16%'><CENTER><a href='Zoom.asp?IdPassed=" & rs("Id") & "&' target='_blank'><IMG border=0 src='"& Dove & "\Foto\" & rs("Fotosmall") &"'></A></CENTER></TD>"
Response.write "<TD width='16%'><FONT face='Arial, Helvetica, sans-serif' size='2'><a href='Zoom.asp?IdPassed=" & rs("Id") & "&' target='_blank'> REF: " & rs("Id") & "</A></FONT><BR>"
Response.write "<BR><FONT color='black'> " & rs("Nome")
Response.write "<BR> "
Response.write "<BR> " & rs("Eta") & " anni</FONT></TD>"

'Vai al record successivo B2B1B2
rs.movenext
end if
Next
Response.write "</TR></TABLE></CENTER>"
End if


If TotRec > 0 then
Response.Write "<P></P>"
Response.Write "<P><B>Pagine:</B> "

For p=1 to rs.PageCount

If p <> CInt(Page) then
Response.Write "<A href='ricerca.asp?page=" & p & "&Eta_da=" & Eta_da & "&Eta_a=" & Eta_a & "'>"

Else
' pagina attuale
Response.Write "<B>"
End if

Response.Write p

If p <> CInt(Page) then
Response.Write "</A> "
Else
Response.Write "</B> "
End if

Next

Response.Write "</P>"

End if
Response.Write "<a href='Brasile.html'>Nuova Ricerca</a>"



%>

<hr>

<%

' liberiamo le risorse
Rs.Close
Set Rs = Nothing

conn.Close
set conn = Nothing


%>
Ciaaoo

15 messaggi dal 10 dicembre 2001
per meglio comprendere lo script, vorrei chiedere una cosa:
Come hai chiamato il db, come hai nominato la tabella, come hai nominato i campi.
Questo per meglio comprendere e studiare.
Grazie per l'eventuale aiuto
15 messaggi dal 15 gennaio 2002
Allora, il database l'ho nominato Ragazze.mdb, c'è solo una tabella che si chiama Ragazze_tbl, i campi della tabella sono: Cognome, Nome, Eta, Fotosmall, Fotobig.
Ovviamente in Fotosmall ed in Fotobig metto il nome delle foto delle ragazze. Spero che ti possa essere d'aiuto.

Se vuoi vedere il risultato vai all'indirizzo

http://www.allfrominside.it/public/panthe/Pantea.html

Ti avverto però che devo dargli una bella sistemata ancora soprattutto a livello grafico e le foto sono temporanee perchè le sto aspettando dal Brasile

Se hai altre domande ...
Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.