27 messaggi dal 03 giugno 2010
www.biggigi.it
Buon giorno a tutti gli amici di ASP Italia, colgo l'occasione per augurare un buon Natale e felice anno nuovo.
Sono riuscito ad impostare un codice di ricerca dei prodotti, un pò complesso per il sottoscritto, ma ci sono riuscito grazie all'aiuto degli amici di asp Italia.
Adesso che funziona completamente ho 2 problemi:
1 non sono proprio capace di inserire il codice per fare una paginazione
2 ho un problema sul record in uscita, ma questo lo chiedero in un altro post.

Il mio vero problema è la paginazione, vorrei riuscire ad estrarre i record numero x alla volta, su più pagine, dove x sono io con un menu a tendina a decidere.

Vorrei chiedere se gentilmente potete aiutarmi nel costruire questo codice.

Posto qua sotto il mio codice abbreviato:

Il mio ricerca prodotti è composto da 2 text area
1) Cerca_dati
2) testoricerca
e variabili a casella di spunta x la ricerca
Cerca dati è collegato ad un db
se esiste mi estrae il nome di un database xy
la seconda text area viene estratta dal dbase xy


<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

<%
If Request.Form("submit") = "submit" Then ' variabile di apertura

Dim testo, query, kk
Dim sca, cna, rsa, sqla, contatore

contatore = 0


query=Request.Form("Cerca_dati")
' ************************* prima variabile, se query = 0 ritorna a index

If Len(Trim(query)) = 0 Then %>
<%response.redirect "index.asp"
%>
<%
Else
' ************************** altrimenti carica il db
sca = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("\mdb-database\prodotti.mdb")
Set cna = Server.CreateObject("ADODB.Connection")
cna.Open sca

sqla = "SELECT * FROM cerca_prodotti WHERE Link_db LIKE '%"&query&"%'"


Set rsa = cna.Execute(sqla)
'
'******************************************************************* se link_db esiste condizione due
if not rsa.EOF then
kk= rsa("Link_db")& ""

parametro = Trim(Request("chkparametro"))
testoricerca = Trim(Request("testodati"))
operatore = Trim(Request("tipo"))
ordina = Trim(Request("pulsante"))



Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Provider = "Microsoft.Jet.OleDb.4.0"
' ******************************* carica il database in base al dato preso dalla variabile KK che è data dal primo database
cnn.Open Server.MapPath(kk) ' notasi che il db è estratto da un altro data base

Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorLocation = 3'adUseClient
rs.CursorType = 3 'adOpenStatic
rs.Sort = ordina

' ******************************* condizione tre se il testoricera è <> permetti la ricerca
If testoricerca <> "" Then
' evito i mettere il codice classico x un ricerca estri dati
Else
' ******************************* altrimenti fai cosi
sql = "SELECT * FROM cerca_prodotto"
descrizione = "Nessun testo inserito"
End if

' apri il db
rs.Open sql, cnn

%>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

********************************* tutto il codice del sito web, il template ecc ecc arrivo all'estrazione del record. ***********************

<td><span class="Stile63">


'******************************************************************* se il record esiste

<%If not rs.EOF Then%>
&nbsp;Ricerca per: <b><%=descrizione%></b></span></td>
</tr>
<tr>
<td><span class="Stile67"><span class="Stile63">&nbsp;Totale record: <b><%=rs.RecordCount%></b> </span></td>
</tr>
</table>
<%
While not rs.EOF
%>
<table width="550" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="286"><span class="Stile64">



<%

'******************************************************************* se è presente la riga link mostra il nome con il link altrimenti solo il nomecondizione 4

if (rs("link"))<> "" Then %>
<a href="<%=rs("link")%>" class="Stile52"><%=rs("nome")%></a>
<%
else


response.write rs("nome")%> <
<%
end if%>



</span></td>
<td width="264" rowspan="4"><div align="right"><img src="<%=rs("dato1")%>" alt="Immagine azienda" width="250" height="60" /></div></td>
</tr>
<tr>
<td><div align="left"><span class="Stile66"><%=rs("dato2")%></span></div></td>
</tr>
<tr>
<td><div align="left"><span class="Stile66"><%=rs("dato3")%></span></div></td>
</tr>
<tr>
<td><div align="justify"><span class="Stile66"><%=rs("dato4")%></span></div></td>
</tr>
<tr>
<td colspan="2"><hr /></td>
</tr>
</table>

<table width="561" border="0" align="left" cellpadding="0" cellspacing="0" class="rig">
<tr class="rig">
<td width="337" class="rig"></td>
</tr>
<%
rs.MoveNext
Wend

Else

'******************************************************************* altimenti dire che non ci sono record
%>




Nessun record presente
<%
rs.Close
cnn.Close

Set rs = nothing
Set cnn = nothing
end if
'
'******************************************************************* fine della condizione 4
%>
<%

' altrimenti condizione 2 fai cosi
Else
response.redirect "index.asp" %>
<%
rsa.Close
cna.Close

Set rsa= nothing
Set cna = nothing
end if

end if
'******************************************************************* fine della condizione 4
' condizione di apertura se il dato non c'è fai cosi
else
%>
Inserire i dati richiesti quindi premere il pulsante Cerca
<%

'******************************************************************* fine della condizione di apertura
end if %>
</table></td>
</tr>
</table></td>


GRAZIE
Modificato da gianluigi73 il 22 dicembre 2010 07.51 -

Gianluigi DI BELLA (grande passione per l'informatica)
678 messaggi dal 12 maggio 2001
www.idioteca.it
non ho capito se non ti funziona o hai bisogno di qualche dritta su come sviluppare l'impaginazione in una pagina asp...

Intanto ti giro un link con un esempio:

http://asp.html.it/script/vedi/884/impaginare-i-risultati-di-un-recordset/
In ogni caso, se cerchi trovi un sacco di articoli anche su aspitalia a riguardo.
ciao

P.s.
dimenticavo... scusa ma ti tormenterò all'infinito... lascia perdere ASP e passa ad ASP.NET... queste cose come altre le farai senza scrivere nemmeno una riga di codice... o quasi :-)
Modificato da giangi_77 il 22 dicembre 2010 09.27 -
27 messaggi dal 03 giugno 2010
www.biggigi.it
Hai perfettamente ragione, come ti ho detto prometto di dedicarmi ad asp net, ma adesso devo prima finire questo blocco, poi avrò tutto il tempo di fare con calma. Grazie cmq, sei molto gentile.
Il codice che ho postato funziona, ma non riesco proprio a mettere la paginazione.
Ho visto che ci sono molti esempi di paginazione, ma avrei bisogno proprio un aiuto nell'inserire il codice in questo.
grazie

Gianluigi DI BELLA (grande passione per l'informatica)
308 messaggi dal 13 luglio 2005
Ciao gianluigi73,
per realizzare una paginazione io ti consiglierei (specie se sei alle prime armi  ) di utilizzare qualche software di sviluppo che ti crei da solo (usando un wizard) la paginazione ...
Non voglio fare pubblicità, ma potresti usare Dreamweaver (è uno dei più usati per asp classico). Sicuramente ci sono decine di software che possono fare lo stesso ...

Fammi sapere, ciao.

Umb
94 messaggi dal 22 marzo 2009
passa i parametri tipo 1234.... per querystring e di volta in voltatiri un tot di dati dal db
27 messaggi dal 03 giugno 2010
www.biggigi.it
te il ritardo, ma sono stato molto preso sul lavoro, volevo ringraziare tutti per l'aiuto.
Sono riuscito a compiere l'ardua (per me) impresa.
grazie ancora

Gianluigi DI BELLA (grande passione per l'informatica)

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.