15 messaggi dal 24 luglio 2002
Ho un database in cui ho inserito un motore di ricerca multipla cioè si può inserire il dato da cercare per nome, per tipologia, per città ecc... e ho bisogno che i dati vengano intabellati e impaginati in modo che non risultino più di 3-4 record per pagina (i dati sono molti e la tabella è già grande).

Però non riesco ad impaginare ho provato varie soluzioni ma mi dà sempre qualche errore inoltre vorrei visualizzare sotto la pagina in cui si è e le successive da linkare ma non so come impostarla. Tutti gli esempi che ho sono per chiave singola io invece ne ho 7 non so molto bene come impostare lo script.

Qualcuno può aiutarmi?

Rossella

Rossella
11.886 messaggi dal 09 febbraio 2002
Contributi
Cerca la parola "paginazione" qui sul sito e troverai qualche articolo o post che ti sarà d'aiuto.

Allora, le proprietà che ti aiutano a paginare un recordset sono:
rs.PageSize
rs.AbsolutePage

il primo ti dice quanti record devono comparire per pagina (3 o 4 nel tuo caso), il secondo indica che pagina si vuole mostrare.
Appena aperto il recordset imposta:
rs.Open "SELECT.... ",cn,3,1
rs.PageSize = 4
rs.AbsolutePage = 2
'mostriamo ad esempio la seconda pagina quindi
'i record 5, 6, 7, 8

Adesso devi fare un ciclo da 1 a 4 per mostrarli a video:
for i = 1 to 4
if not rs.EOF
Response.write(rs("nomecampo")&"<br>")
rs.Movenext
end if
next

'era un piccolo esempio, da quanto ho capito tu hai una roba un po' più articolata.

Adesso bisogna scrivere sotto i numeri delle pagine che saranno da 1 a n
Puoi determinare di quante pagine è costruito il recordset facendo:
totali = (rs.RecordCount / 4)+1
a questo punto fai:
for t = 1 to totali
Response.write (t&", ")
next

e ti verranno scritti tutti i numeri delle pagine, ovviamente dovrai farli cliccabili, rendere dinamico il numero di pagina che si vuol visualizzare.. ecc.
Un passo per volta riuscirai a farlo, se trovi qualche intoppo posta, consulta soprattutto i post precedenti dato che l'argomento è stato trattato a più riprese. Bye! buona fortuna!

-----------------------
Da una perla dal saggio:
Quando non hai capito, devi dire "non ho capito", no che dici che hai capito e invece non hai capito un cavolo. Hai capito?
-----------------------

Enjoy learning and just keep making
15 messaggi dal 24 luglio 2002
si lo so che ci sono molti articoli me li sono letti tutti prima di postare e li ho provati quasi tutti però non sono riuscita a visualizzare la paginazion. Per questo ho postato il mio motore è un po' complesso perchè ho sette chiavi di scelta raccolte in sette variabili mentre in tutti gli esempi ho trovato solo una variabile ed è per questo che non capisco come impostare.

Comunque grazie farò delle altre prove semmai poi vi posto altre domande.

Rossella

Rossella
1 messaggio dal 12 marzo 2003
ciao sono luca e ho un problema su uno script che ho fatto:

<%
var testo = String(Request.Form("keywords"));
var keywords = testo.split(" ");

var Cn = new ActiveXObject("ADODB.Connection");
var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("archivio.mdb");
Cn.Open(Sc);

var Sql = "SELECT * FROM pagineweb WHERE";
for (i=0;i<keywords.length;i++) {
if (i>0) Sql += " AND";
Sql += " keywords LIKE '%" + keywords[i] + "%'";
}


var Mostra = new ActiveXObject("ADODB.Recordset");
Mostra.Open(Sql,Cn,1);
var pag = parseInt(Request.QueryString("pag"));
if (isNaN(pag) || pag < 1) pag = 1;
if(!Mostra.EOF){
Mostra.PageSize = 30;
Mostra.AbsolutePage = pag;
}
var i = 0;
while (!Mostra.EOF && i<10) {
Response.Write("<br><p><a href='" + Mostra("url") + "'target='_blank'>");
Response.Write(Mostra("titolo"));
Response.Write("</a><br>");
Response.Write(Mostra("descrizione"));
Response.Write("</p>");
i++;
Mostra.MoveNext();

}
%>

<table width="100%">
<tr>
<td width="50%">
<%if (pag > 1) {%><a href="risultati.asp?pag=<%=pag - 1%>">Precedenti</a><%} %>
<%else {%>Precedenti<%}%>
</td>
<td width="50%" align="right">
<%if (!Mostra.EOF){ %><a href="risultati.asp?pag=<%=pag + 1%>">Successivi</a><%}%>
<%else {%>Successivi<%}%>

</td>
</tr>
</table>

<%
Cn.Close();
%>

in pratica che fa la ricerca nel mio database, e qui non c'è problemi quando io vado a girare la pagina per vedere gli altri risultati mi da un errore al server

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.