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

    Search con dropdown e input text box

    Buongiorno a tutti,
    quasi sicuramente sto per chiedervi l'aiuto per una cosa semplicissima da fare .... il problema e' che per me NON E' COSI' SEMPLICE purtroppo! Premetto che e' da circa 1 mese che ho iniziato ad usare asp ed a interfacciarlo ad un database .... quindi spero che qualcuno, buono di cuore, abbia voglia e tempo di darmi qualche dritta.
    Il problema e' il seguente:
    ho creato una tabella in un database access dove all'interno ho inserito i campi utili per una rubrica (nome, cognome, email, telefono, etc.). Avrei bisogno di creare una pagina di ricerca pero' una ricerca fatta tramite un input box - dove l'utente puo' inserire la stringa di ricerca - ed un dropdown list box - attraverso il quale l'utente scegli su quale campo fare la ricerca -. Non ho problemi nel creare una ricerca libera (solo con l'input box) ... anche perche' per farlo utilizzo il dreamweaver mx 2004.


    Di seguito il codice della pagina con il form per la ricerca ed in allegato la pagina di risultato.

    Ringrazio anticipatamente chiunque riesca a darmi qualche dritta!


    Catia

    CODICE DELLA PAGINA IN QUESTIONE RICERCA_RUBRICA.ASP
    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Untitled Document</title>
    <style type="text/css">
    <!--
    body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    }
    -->
    </style>
    <link href="style.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <table width="100%" height=700 border="0" cellpadding="0" cellspacing="0">
    <tr valign="top" class="nav">
    <td height="20">


    <form name="form1" method="get" action="risultato_ricerca_rubrica.asp" target="ricerca">
    <select name="list" class="nav" id="list">
    <option value="Cognome" selected>Cognome</option>
    <option value="Area">Area</option>
    <option value="Titolo">Titolo</option>
    <option value="Email">Email</option>
    <option value="Telefono">Telefono</option>
    </select>
    <input name="input" type="text" class="nav" id="input">
    <input name="Submit" type="submit" class="nav" value="Ricerca nella Rubrica">
    </form>
    </td>
    </tr>
    </table>
    </body>
    </html>

  2. #2

    Codice della pagina che dovrebbe visualizzare il risultato

    mi sono resa conto che l'allegato non e' stato inserito perche' non aveva un estensione valida .... ecco il codice della pagina RISULTATO_RICERCA_RUBRICA.ASP

    codice:
    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
    
    <%
    var Rubrica__input = "%";
    if (String(Request.QueryString("input")) != "undefined" && 
        String(Request.QueryString("input")) != "") { 
      Rubrica__input = String(Request.QueryString("input"));
    }
    %>
    <%
    var Rubrica__list = "%";
    if (String(Request.QueryString("list")) != "undefined" && 
        String(Request.QueryString("list")) != "") { 
      Rubrica__list = String(Request.QueryString("list"));
    }
    %>
    <%
    var Rubrica = Server.CreateObject("ADODB.Recordset");
    Rubrica.ActiveConnection = MM_INTRA11_STRING;
    Rubrica.Source = "SELECT *  FROM Impiegati  WHERE Cognome LIKE '%"+ Rubrica__input.replace(/'/g, "''") + "%' AND '%"+ Rubrica__list.replace(/'/g, "''") + "%'  OR Area LIKE '%"+ Rubrica__input.replace(/'/g, "''") + "%' AND '%"+ Rubrica__list.replace(/'/g, "''") + "%'  OR Titolo LIKE '%"+ Rubrica__input.replace(/'/g, "''") + "%' AND '%"+ Rubrica__list.replace(/'/g, "''") + "%'  OR Telefono LIKE '%"+ Rubrica__input.replace(/'/g, "''") + "%' AND '%"+ Rubrica__list.replace(/'/g, "''") + "%'  OR Email LIKE '%"+ Rubrica__input.replace(/'/g, "''") + "%' AND '%"+ Rubrica__list.replace(/'/g, "''") + "%'";
    Rubrica.CursorType = 0;
    Rubrica.CursorLocation = 2;
    Rubrica.LockType = 1;
    Rubrica.Open();
    var Rubrica_numRows = 0;
    %>
    <%
    var Repeat1__numRows = 10;
    var Repeat1__index = 0;
    Rubrica_numRows += Repeat1__numRows;
    %>
    <%
    // *** Recordset Stats, Move To Record, and Go To Record: declare stats variables
    
    // set the record count
    var Rubrica_total = Rubrica.RecordCount;
    
    // set the number of rows displayed on this page
    if (Rubrica_numRows < 0) {            // if repeat region set to all records
      Rubrica_numRows = Rubrica_total;
    } else if (Rubrica_numRows == 0) {    // if no repeat regions
      Rubrica_numRows = 1;
    }
    
    // set the first and last displayed record
    var Rubrica_first = 1;
    var Rubrica_last  = Rubrica_first + Rubrica_numRows - 1;
    
    // if we have the correct record count, check the other stats
    if (Rubrica_total != -1) {
      Rubrica_numRows = Math.min(Rubrica_numRows, Rubrica_total);
      Rubrica_first   = Math.min(Rubrica_first, Rubrica_total);
      Rubrica_last    = Math.min(Rubrica_last, Rubrica_total);
    }
    %>
    
    <%
    // *** Recordset Stats: if we don't know the record count, manually count them
    
    if (Rubrica_total == -1) {
    
      // count the total records by iterating through the recordset
      for (Rubrica_total=0; !Rubrica.EOF; Rubrica.MoveNext()) {
        Rubrica_total++;
      }
    
      // reset the cursor to the beginning
      if (Rubrica.CursorType > 0) {
        if (!Rubrica.BOF) Rubrica.MoveFirst();
      } else {
        Rubrica.Requery();
      }
    
      // set the number of rows displayed on this page
      if (Rubrica_numRows < 0 || Rubrica_numRows > Rubrica_total) {
        Rubrica_numRows = Rubrica_total;
      }
    
      // set the first and last displayed record
      Rubrica_last  = Math.min(Rubrica_first + Rubrica_numRows - 1, Rubrica_total);
      Rubrica_first = Math.min(Rubrica_first, Rubrica_total);
    }
    %>
    <% var MM_paramName = ""; %>
    <%
    // *** Move To Record and Go To Record: declare variables
    
    var MM_rs        = Rubrica;
    var MM_rsCount   = Rubrica_total;
    var MM_size      = Rubrica_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
    Rubrica_first = MM_offset + 1;
    Rubrica_last  = MM_offset + MM_size;
    if (MM_rsCount != -1) {
      Rubrica_first = Math.min(Rubrica_first, MM_rsCount);
      Rubrica_last  = Math.min(Rubrica_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_keepNone="";
    
    // 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_movePrev="";
    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 HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Untitled Document</title>
    <style type="text/css">
    <!--
    body {
    	margin-left: 0px;
    	margin-top: 0px;
    	margin-right: 0px;
    	margin-bottom: 0px;
    }
    -->
    </style>
    <link href="style.css" rel="stylesheet" type="text/css">
    <style type="text/css">
    <!--
    .style3 {font-size: 9px}
    .style4 {font-size: 12px}
    -->
    </style>
    </head>
    <body>
    <center>
      <% if (Rubrica.EOF && Rubrica.BOF) { %>
      Nessuna occorrenza trovata!
      <% } // end Rubrica.EOF && Rubrica.BOF %>
    
    </center>
    <% if (!Rubrica.EOF || !Rubrica.BOF) { %>
    <table border="0" cellpadding="0" cellspacing="0" width="100%" height="600">
    <tr valign="top">
    <td>
      <span class="style4">Trovate n&deg; <%=(Rubrica_total)%>persone. Record da <%=(Rubrica_first)%> a <%=(Rubrica_last)%>
      </span>
      <table width="100%"  border="0" cellpadding="2" cellspacing="1">
      <tr class="nav">
        <td><div align="center">Nome e Cognome </div></td>
        <td><div align="center">Area</div></td>
        <td><div align="center">Titolo</div></td>
        <td><div align="center">Telefono</div></td>
        <td><div align="center">Email</div></td>
      </tr>
      <% while ((Repeat1__numRows-- != 0) && (!Rubrica.EOF)) { %>
      <%if (Repeat1__numRows % 2) {%>
        <tr style="background-color:#FFFFFF" valign="top">
          <%}else{%>
        <tr style="background-color:#E9EEF4" valign="top">
          <%}%>
          <td><span class="style3"><%=(Rubrica.Fields.Item("Nome").Value)%> <%=(Rubrica.Fields.Item("Cognome").Value)%></span></td>
        <td><span class="style3"><%=(Rubrica.Fields.Item("Area").Value)%></span></td>
        <td><span class="style3"><%=(Rubrica.Fields.Item("Titolo").Value)%></span></td>
        <td><span class="style3"><%=(Rubrica.Fields.Item("Telefono").Value)%></span></td>
        <td>"><%=(Rubrica.Fields.Item("Email").Value)%></td>
      </tr>
      <%
      Repeat1__index++;
      Rubrica.MoveNext();
    }
    %>
    </table>
    <% } // end !Rubrica.EOF || !Rubrica.BOF %>
    
    
    <center>
    <table border="0" cellspacing="1" cellpadding="2">
      <tr valign="baseline">
        <td height="59"><% if (MM_offset != 0) { %>
          <table cellpadding="2" cellspacing="0" border="0"><tr><td class="nav">[img]arrow_precedente.gif[/img] Primo</td></tr></table>
          <% } // end MM_offset != 0 %></td>
        <td><% if (MM_offset != 0) { %>
         <table cellpadding="2" cellspacing="0" border="0"><tr><td class="nav">[img]arrow_precedente2.gif[/img] Precedente</td></tr></table>
          <% } // end MM_offset != 0 %></td>
        <td><% if (!MM_atTotal) { %>
         <table cellpadding="2" cellspacing="0" border="0"><tr><td class="nav">
               Successivo [img]arrow_successivo2.gif[/img]
               
    </td>
         </tr></table>
    	 <% } // end !MM_atTotal %>
          </td>
        <td><% if (!MM_atTotal) { %>
         <table cellpadding="2" cellspacing="0" border="0"><tr><td class="nav">
               Ultimo [img]arrow_successivo.gif[/img]
              
    </td>
         </tr></table>
    	  <% } // end !MM_atTotal %>
         </td>
      </tr>
    </table>
    </td>
    </tr>
    </table>
    </center>
    </body>
    </html>
    <%
    Rubrica.Close();
    %>

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 © 2025 vBulletin Solutions, Inc. All rights reserved.