Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    prev e next dopo ricerca

    Ciao a tutti.

    Ho un problema:

    ho creato una pagina asp con una tabella nella quale vengono visualizzati tutti i record di un db access, c'è una ricerca su tre dei campi del db e eseguendo la ricerca esce fuori la pagina dei risultati (quella quotata di seguito). Il problema è che cliccando su next, prev, last o first per passare alla pagina successiva, non vengono visualizzati più solo i record della ricerca ma tutti quelli del db.


    Perchè?
    Il Mondo è Bello perché è Avariato !!!

  2. #2
    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>

    <%
    var sql = "SELECT * FROM [tabelli immobili] WHERE 1 = 1 ";
    var Recordset1__varcontr = "1";
    if (String(Request.Form("contratto")) != "undefined" &&
    String(Request.Form("contratto")) != "") {
    Recordset1__varcontr = String(Request.Form("contratto"));
    sql = sql + "AND (Contratto = '"+ Recordset1__varcontr.replace(/'/g, "''") + "' ) ";
    }
    var Recordset1__vartip = "1";
    if (String(Request.Form("tipo")) != "undefined" &&
    String(Request.Form("tipo")) != "") {
    Recordset1__vartip = String(Request.Form("tipo"));
    sql += "AND (Tipo = '"+ Recordset1__vartip.replace(/'/g, "''") + "' ) ";
    }
    var Recordset1__varcit = "1";
    if (String(Request.Form("citta")) != "undefined" &&
    String(Request.Form("citta")) != "") {
    Recordset1__varcit = String(Request.Form("citta"));
    sql += "AND (Città = '"+ Recordset1__varcit.replace(/'/g, "''") + "' ) ";
    }

    sql += "ORDER BY Città";
    %>
    <%
    var Recordset1 = Server.CreateObject("ADODB.Recordset");
    Recordset1.ActiveConnection = MM_connessioneborselli_STRING;
    Recordset1.Source = sql;
    Recordset1.CursorType = 0;
    Recordset1.CursorLocation = 2;
    Recordset1.LockType = 1;
    Recordset1.Open();
    var Recordset1_numRows = 0;
    %>
    <%
    var Repeat1__numRows = 10;
    var Repeat1__index = 0;
    Recordset1_numRows += Repeat1__numRows;
    %>

    <%
    // *** Recordset Stats, Move To Record, and Go To Record: declare stats variables

    // set the record count
    var Recordset1_total = Recordset1.RecordCount;

    // set the number of rows displayed on this page
    if (Recordset1_numRows < 0) { // if repeat region set to all records
    Recordset1_numRows = Recordset1_total;
    } else if (Recordset1_numRows == 0) { // if no repeat regions
    Recordset1_numRows = 1;
    }

    // set the first and last displayed record
    var Recordset1_first = 1;
    var Recordset1_last = Recordset1_first + Recordset1_numRows - 1;

    // if we have the correct record count, check the other stats
    if (Recordset1_total != -1) {
    Recordset1_numRows = Math.min(Recordset1_numRows, Recordset1_total);
    Recordset1_first = Math.min(Recordset1_first, Recordset1_total);
    Recordset1_last = Math.min(Recordset1_last, Recordset1_total);
    }
    %>
    <%
    // *** Recordset Stats: if we don't know the record count, manually count them

    if (Recordset1_total == -1) {

    // count the total records by iterating through the recordset
    for (Recordset1_total=0; !Recordset1.EOF; Recordset1.MoveNext()) {
    Recordset1_total++;
    }

    // reset the cursor to the beginning
    if (Recordset1.CursorType > 0) {
    if (!Recordset1.BOF) Recordset1.MoveFirst();
    } else {
    Recordset1.Requery();
    }

    // set the number of rows displayed on this page
    if (Recordset1_numRows < 0 || Recordset1_numRows > Recordset1_total) {
    Recordset1_numRows = Recordset1_total;
    }

    // set the first and last displayed record
    Recordset1_last = Math.min(Recordset1_first + Recordset1_numRows - 1, Recordset1_total);
    Recordset1_first = Math.min(Recordset1_first, Recordset1_total);
    }
    %>
    <% var MM_paramName = ""; %>
    <%
    // *** Move To Record and Go To Record: declare variables

    var MM_rs = Recordset1;
    var MM_rsCount = Recordset1_total;
    var MM_size = Recordset1_numRows;
    var MM_uniqueCol = "";
    MM_paramName = "";
    var MM_offset = 0;
    var MM_atTotal = false;
    var MM_paramIsDefined = (MM_paramName != "" && String(Request(MM_paramName)) != "undefined");
    %>
    <%
    // *** Move To Record: handle 'index' or 'offset' parameter

    if (!MM_paramIsDefined && MM_rsCount != 0) {

    // use index parameter if defined, otherwise use offset parameter
    r = String(Request("index"));
    if (r == "undefined") r = String(Request("offset"));
    if (r && r != "undefined") MM_offset = parseInt(r);

    // if we have a record count, check if we are past the end of the recordset
    if (MM_rsCount != -1) {
    if (MM_offset >= MM_rsCount || MM_offset == -1) { // past end or move last
    if ((MM_rsCount % MM_size) != 0) { // last page not a full repeat region
    MM_offset = MM_rsCount - (MM_rsCount % MM_size);
    } else {
    MM_offset = MM_rsCount - MM_size;
    }
    }
    }

    // move the cursor to the selected record
    for (var i=0; !MM_rs.EOF && (i < MM_offset || MM_offset == -1); i++) {
    MM_rs.MoveNext();
    }
    if (MM_rs.EOF) MM_offset = i; // set MM_offset to the last possible record
    }
    %>
    <%
    // *** Move To Record: if we dont know the record count, check the display range

    if (MM_rsCount == -1) {

    // walk to the end of the display range for this page
    for (var i=MM_offset; !MM_rs.EOF && (MM_size < 0 || i < MM_offset + MM_size); i++) {
    MM_rs.MoveNext();
    }

    // if we walked off the end of the recordset, set MM_rsCount and MM_size
    if (MM_rs.EOF) {
    MM_rsCount = i;
    if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount;
    }

    // if we walked off the end, set the offset based on page size
    if (MM_rs.EOF && !MM_paramIsDefined) {
    if ((MM_rsCount % MM_size) != 0) { // last page not a full repeat region
    MM_offset = MM_rsCount - (MM_rsCount % MM_size);
    } else {
    MM_offset = MM_rsCount - MM_size;
    }
    }

    // reset the cursor to the beginning
    if (MM_rs.CursorType > 0) {
    if (!MM_rs.BOF) MM_rs.MoveFirst();
    } else {
    MM_rs.Requery();
    }

    // move the cursor to the selected record
    for (var i=0; !MM_rs.EOF && i < MM_offset; i++) {
    MM_rs.MoveNext();
    }
    }
    %>
    <%
    // *** Move To Record: update recordset stats

    // set the first and last displayed record
    Recordset1_first = MM_offset + 1;
    Recordset1_last = MM_offset + MM_size;
    if (MM_rsCount != -1) {
    Recordset1_first = Math.min(Recordset1_first, MM_rsCount);
    Recordset1_last = Math.min(Recordset1_last, MM_rsCount);
    }

    // set the boolean used by hide region to check if we are on the last record
    MM_atTotal = (MM_rsCount != -1 && MM_offset + MM_size >= MM_rsCount);
    %>
    <%
    // *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

    // create the list of parameters which should not be maintained
    var MM_removeList = "&index=";
    if (MM_paramName != "") MM_removeList += "&" + MM_paramName.toLowerCase() + "=";
    var MM_keepURL="",MM_keepForm="",MM_keepBoth="",MM_kee pNone="";

    // add the URL parameters to the MM_keepURL string
    for (var items=new Enumerator(Request.QueryString); !items.atEnd(); items.moveNext()) {
    var nextItem = "&" + items.item().toLowerCase() + "=";
    if (MM_removeList.indexOf(nextItem) == -1) {
    MM_keepURL += "&" + items.item() + "=" + Server.URLencode(Request.QueryString(items.item()) );
    }
    }

    // add the Form variables to the MM_keepForm string
    for (var items=new Enumerator(Request.Form); !items.atEnd(); items.moveNext()) {
    var nextItem = "&" + items.item().toLowerCase() + "=";
    if (MM_removeList.indexOf(nextItem) == -1) {
    MM_keepForm += "&" + items.item() + "=" + Server.URLencode(Request.Form(items.item()));
    }
    }

    // create the Form + URL string and remove the intial '&' from each of the strings
    MM_keepBoth = MM_keepURL + MM_keepForm;
    if (MM_keepBoth.length > 0) MM_keepBoth = MM_keepBoth.substring(1);
    if (MM_keepURL.length > 0) MM_keepURL = MM_keepURL.substring(1);
    if (MM_keepForm.length > 0) MM_keepForm = MM_keepForm.substring(1);
    %>
    <%
    // *** Move To Record: set the strings for the first, last, next, and previous links

    var MM_moveFirst="",MM_moveLast="",MM_moveNext="",MM_m ovePrev="";
    var MM_keepMove = MM_keepBoth; // keep both Form and URL parameters for moves
    var MM_moveParam = "index";

    // if the page has a repeated region, remove 'offset' from the maintained parameters
    if (MM_size > 1) {
    MM_moveParam = "offset";
    if (MM_keepMove.length > 0) {
    params = MM_keepMove.split("&");
    MM_keepMove = "";
    for (var i=0; i < params.length; i++) {
    var nextItem = params[i].substring(0,params[i].indexOf("="));
    if (nextItem.toLowerCase() != MM_moveParam) {
    MM_keepMove += "&" + params[i];
    }
    }
    if (MM_keepMove.length > 0) MM_keepMove = MM_keepMove.substring(1);
    }
    }

    // set the strings for the move to links
    if (MM_keepMove.length > 0) MM_keepMove = Server.HTMLEncode(MM_keepMove) + "&";
    var urlStr = Request.ServerVariables("URL") + "?" + MM_keepMove + MM_moveParam + "=";
    MM_moveFirst = urlStr + "0";
    MM_moveLast = urlStr + "-1";
    MM_moveNext = urlStr + (MM_offset + MM_size);
    MM_movePrev = urlStr + Math.max(MM_offset - MM_size,0);
    %>
    <!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=iso-8859-1" />
    <title>Risultati della ricerca</title>

    <link href="style.css" rel="stylesheet" type="text/css">

    <style type="text/css">
    <!--

    body,html { height:100%;margin:0 }
    #box {
    width:800px; height:600px;
    position:absolute;top:50%;left:50%;
    }
    -->
    </style>
    </head>

    <body>
    <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td height="467"><table width="800" height="600" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td width="200" rowspan="2" valign="top">[img]image/logo_190.png[/img]</td>
    <td width="600" valign="top"><table width="600" height="92" border="1" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
    <tr>
    <td width="20%" height="25" align="left"><div align="center" class="Stile14">Contratto </div></td>
    <td width="20%" height="25" align="left"><div align="center" class="Stile14">Tipo </div></td>
    <td width="20%" height="25" align="left"><div align="center" class="Stile14">Citt&agrave; </div></td>
    <td width="20%" height="25" align="left"><div align="center" class="Stile14">Prezzo </div></td>
    <td width="20%" height="25" align="left"><div align="center" class="Stile14">Immagini </span></div></td>
    </tr>
    <% while ((Repeat1__numRows-- != 0) && (!Recordset1.EOF)) { %>
    <tr>
    <td width="10%" height="55" align="left"><div align="center" class="Stile16"><%=(Recordset1.Fields.Item("Contra tto").Value)%></div></td>
    <td width="20%" height="55" align="left"><div align="center" class="Stile16"><%=(Recordset1.Fields.Item("Tipo") .Value)%></div></td>
    <td width="20%" height="55" align="left"><div align="center" class="Stile16"><%=(Recordset1.Fields.Item("Città" ).Value)%></div></td>
    <td width="20%" height="55" align="left"><div align="center" class="Stile16"><%=(Recordset1.Fields.Item("Prezzo ").Value)%></div></td>
    <td width="20%" height="55" align="left"><div align="center" class="Stile16">">[img]<%=(Recordset1.Fields.Item([/img]" alt="" name="imm" width="60" height="45" id="imm" /></div></td>
    </tr>
    <%
    Repeat1__index++;
    Recordset1.MoveNext();
    }
    %>
    </table></td>
    </tr>
    <tr>
    <td width="600" height="25"><table width="250" border="0" align="center" cellspacing="0">
    <tr>
    <td width="15%" align="center"><% if (MM_offset != 0) { %>
    First
    <% } // end MM_offset != 0 %>
    </td>
    <td width="8%" align="center"><% if (MM_offset != 0) { %>
    Prev
    <% } // end MM_offset != 0 %>
    </td>
    <td width="50%" align="center"><span class="Stile13"><%=(Recordset1_first)%>-<%=(Recordset1_last)%> su <%=(Recordset1_total)%> </span></td>
    <td width="8%" align="center"><% if (!MM_atTotal) { %>
    Next
    <% } // end !MM_atTotal %>
    </td>
    <td width="15%" align="center"><% if (!MM_atTotal) { %>
    Last
    <% } // end !MM_atTotal %>
    </td>
    </tr>
    </table><div align="right">Indietro</div></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </body>
    </html>
    <%
    Recordset1.Close();
    %>
    Il Mondo è Bello perché è Avariato !!!

  3. #3
    Nessuno è in grado di aiutarmi????

    Credo che il problema sia qui, ma non riesco a capire qual'è!!! Perchè mi si muove su tutti i campi e non solo sui risultati della ricerca????

    if (MM_keepMove.length > 0) MM_keepMove = Server.HTMLEncode(MM_keepMove) + "&";
    var urlStr = Request.ServerVariables("URL") + "?" + MM_keepMove + MM_moveParam + "=";
    MM_moveFirst = urlStr + "0";
    MM_moveLast = urlStr + "-1";
    MM_moveNext = urlStr + (MM_offset + MM_size);
    MM_movePrev = urlStr + Math.max(MM_offset - MM_size,0);
    %>
    Il Mondo è Bello perché è Avariato !!!

  4. #4

  5. #5
    Originariamente inviato da Mems
    MM_
    ???

    Non ho capito il concetto!!!
    Il Mondo è Bello perché è Avariato !!!

  6. #6
    Scusa Mems, ma la mia profonda ignoranza ASPiana non mi permette di capire il problema, anche dopo il tuo indizio "MM_".

    Non essendo esperto ASP ho fatto questo sito con Dreamweaver, anche se so che non è il massimo per questa tipo di lavori. Però...

    Penso che si tratti di una "cazzatella" che basta correggere per far funzionare il tutto.

    Sbaglio?? Non c'è da rifare tutto daccapo, vero???
    Il Mondo è Bello perché è Avariato !!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.