Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    ricerca e paginazione per più criteri

    Cari amici,
    dovrei realizzare un motore di ricerca con successiva paginazione per sito immobiliare con l'utlizzo di db.
    Però nelle modalità di ricerca la script dovrebbe cercare su più criteri contemporanemente cioé: sezione - tipologia - sottotipologia - regione - provincia - comune e paginarli.
    Come posso fare?
    Grazie
    G.

  2. #2
    Ti posto un esempio:
    codice:
    tipologia = request.queryString("tipologia")
    sottotipologia = request.queryString("sottotipologia")
    regione = request.queryString("regione")
    provincia = request.queryString("provincia")
    comune = request.queryString("comune")
    
    sql = "SELECT * FROM immobili WHERE 1 = 1 "
    
    if len(tipologia) > 0 then sql = sql & "AND tipologia = '" & tipologia & "' "
    if len(sottotipologia) > 0 then sql = sql & "AND sottotipologia = '" & sottotipologia & "' "
    if len(regione) > 0 then sql = sql & "AND regione = '" & regione & "' "
    if len(provincia) > 0 then sql = sql & "AND provincia = '" & provincia & "' "
    if len(comune) > 0 then sql = sql & "AND comune = '" & comune & "' "
    
    sql = sql & "ORDER BY [ID]"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Mems grazie per la risposta è come posso implementare la paginazione?
    Grazie
    Gino

  4. #4
    codice:
    <%
    risultatiPerPagina = 10
    
    pagina = request.queryString("pagina")
    if len(pagina) > 0 and isNumeric(pagina) then
      pagina = cLng(pagina)
    else
      pagina = 1
    end if
    
    if pagina < 1 then pagina = 1
    
    questaPagina = request.serverVariables("PATH_INFO")
    
    tipologia = request.queryString("tipologia")
    sottotipologia = request.queryString("sottotipologia")
    regione = request.queryString("regione")
    provincia = request.queryString("provincia")
    comune = request.queryString("comune")
    
    qString = "tipologia=" & server.URLEncode(tipologia) & "&amp;sottotipologia=" & server.URLEncode(sottotipologia) & "&amp;regione=" & server.URLEncode(regione) & "&amp;provincia=" & server.URLEncode(provincia) & "&amp;comune=" & server.URLEncode(comune)
    
    function fixSQL(theString)
      theString = replace(theString,"'","''")
      theString = replace(theString,"%","[%]")
      theString = replace(theString,"#","[#]")
      theString = replace(theString,"_","[_]")
      theString = replace(theString,"[","[[]")
      theString = replace(theString,"]","[]]")
      fixSQL = theString
    end function
    
    
    sql = "SELECT * FROM immobili WHERE 1 = 1 "
    
    if len(tipologia) > 0 then sql = sql & "AND tipologia = '" & fixSQL(tipologia) & "' "
    if len(sottotipologia) > 0 then sql = sql & "AND sottotipologia = '" & fixSQL(sottotipologia) & "' "
    if len(regione) > 0 then sql = sql & "AND regione = '" & fixSQL(regione) & "' "
    if len(provincia) > 0 then sql = sql & "AND provincia = '" & fixSQL(provincia) & "' "
    if len(comune) > 0 then sql = sql & "AND comune = '" & fixSQL(comune) & "' "
    
    sql = sql & "ORDER BY [ID]"
    
    set conn = server.createObject("ADODB.Connection")
    conn.open connString
    
    set rs = server.createObject("ADODB.Recordset")
    rs.open sql, conn, 3, 1
    
      if not rs.eof then
    
        rs.pageSize = risultatiPerPagina
        if rs.pageCount > pagina then pagina = 1
        rs.absolutePage = pagina
    
        response.write "Totale: "  & rs.recordCount
    
        response.write "Pagine: "
        for p = 1 to rs.pageCount
          if p = pagina then
            response.write p & " "
          else
            response.write "" & p & " "
          end if
        next
    
        for r = 0 to risultatiPerPagina
          if not rs.eof then
            ' QUI MOSTRI I DATI PRESI DALLA TABELLA DEL DB
            rs.moveNext
          else
            exit for
          end if
        next
    
        response.write "Pagine: "
        for p = 1 to rs.pageCount
          if p = pagina then
            response.write p & " "
          else
            response.write "" & p & " "
          end if
        next
    
      end if
    
    rs.close
    set rs = nothing
    
    conn.close
    set conn = nothing
    %>

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    grazie per la tua risposta.
    Ma quando faccio la ricerca, la pagina del motore di ricerca mi viene bianca ecco la pagina del motore:

    <html>

    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>MOTORE</title>
    <script language="javascript">
    var win = null;
    function apri(mypage,myname,w,h,scroll){
    LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
    TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
    settings =
    'height='+h+',width='+w+',top='+TopPosition+',left ='+LeftPosition+',scrollbars='+scroll+',noresize'
    win = window.open(mypage,myname,settings)
    }
    </script>
    </head>

    <body>




    </p>
    <font face="verdana" size="1">
    <div align="center">
    <%
    risultatiPerPagina = 2

    pagina = request.queryString("pagina")
    if len(pagina) > 0 and isNumeric(pagina) then
    pagina = cLng(pagina)
    else
    pagina = 1
    end if

    if pagina < 1 then pagina = 1

    questaPagina = request.serverVariables("PATH_INFO")

    sezione = request.form("sezione")
    tipologia = request.form("og")
    sottotipologia = request.form("o")
    regione = request.form("regione")
    provincia = request.form("provincia")
    comune = request.form("comune")

    qString = "sezione=" & server.URLEncode(sezione) & "&tipologia=" & server.URLEncode(tipologia) & "&sottotipologia=" & server.URLEncode(sottotipologia) & "&regione=" & server.URLEncode(regione) & "&provincia=" & server.URLEncode(provincia) & "&comune=" & server.URLEncode(comune)

    function fixSQL(theString)
    theString = replace(theString,"'","''")
    theString = replace(theString,"%","[%]")
    theString = replace(theString,"#","[#]")
    theString = replace(theString,"_","[_]")
    theString = replace(theString,"[","[[]")
    theString = replace(theString,"]","[]]")
    fixSQL = theString
    end function

    sql = "SELECT * FROM immobili WHERE 1 = 1 "

    if len(sezione) > 0 then sql = sql & "AND sezione = '" & fixSQL(sezione) & "' "
    if len(tipologia) > 0 then sql = sql & "AND tipologia = '" & fixSQL(tipologia) & "' "
    if len(sottotipologia) > 0 then sql = sql & "AND sottotipologia = '" & fixSQL(sottotipologia) & "' "
    if len(regione) > 0 then sql = sql & "AND regione = '" & fixSQL(regione) & "' "
    if len(provincia) > 0 then sql = sql & "AND provincia = '" & fixSQL(provincia) & "' "
    if len(comune) > 0 then sql = sql & "AND comune = '" & fixSQL(comune) & "' "

    sql = sql & "ORDER BY [ID]"

    set rs = server.createObject("ADODB.Recordset")
    rs.open sql, conn, 3, 1

    if not rs.eof then

    rs.pageSize = risultatiPerPagina
    if rs.pageCount > pagina then pagina = 1
    rs.absolutePage = pagina

    response.write "Totale: " & rs.recordCount

    response.write " Pagine: "
    for p = 1 to rs.pageCount
    if p = pagina then
    response.write p & " "
    else
    response.write "" & p & " "
    end if
    next

    for r = 0 to risultatiPerPagina

    if not rs.eof then

    %>



    <fieldset style="width: 500px; height: 59px">
    <table border="0" width="500" cellspacing="1" id="table1" height="59">
    <tr>
    <td width="129">
    <p align="center">
    <%
    if TRIM(rs.Fields("foto")) & "[]" <> "[]" then
    %>
    <a href="javascript:apri('public/foto/<%=rs.Fields("foto")%>','','550','500','no');">
    [img]public/foto/<%=rs.Fields([/img]" height="90" border="0" width="103"></a>
    <%
    else
    %>
    [img]images/nofoto.png[/img]
    <%
    end if
    %>
    </td>
    <td><%=rs.Fields("provincia")%>-<%=rs.Fields("indirizzo")%>

    <%=rs.Fields("sezione")%>-<%=rs.Fields("tipologia")%>-<%=rs.Fields("sottotipologia")%>-<%=rs.Fields("mq")%>

    <%=rs.Fields("note")%>
    </td>
    </tr>
    </table>
    </fieldset>



    ----------------------------------------------------------------------------------------

    </p>
    </font>

    <%
    rs.moveNext
    else
    exit for
    end if
    next
    response.write "Pagine: "
    for p = 1 to rs.pageCount
    if p = pagina then
    response.write p & " "
    else
    response.write "" & p & " "
    end if
    next
    end if

    %></font>
    <p align="center">
    </p>

    </html>
    Volevo sapere delle altre informazioni, l'utente non deve essere costretto a selezionare tutti i campi di ricerca dal form della pagina precedente e inoltre se non esistono risultati a quale punto dello script devo inserire "Nessun Risultato" ?
    Ancora grazie per il tuo aiuto.
    G.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Nessuno può aiutarmi?
    Grazie
    Gino

  7. #7
    In che senso la pagina ti viene bianca?
    La pagina e .asp?
    La url della pagina inizia per http ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Certo che la pagina e .asp
    e lo sto testando in locale quindi l'url è: http://localhost etc.
    Mi viene bianca, in pratica vedendo il codice html della pagina non c'è la parte dove dovrebbe stampare i record cioè:
    codice:
    
    <fieldset style="width: 500px; height: 59px">
    <table border="0" width="500" cellspacing="1" id="table1" height="59">
    <tr>
    <td width="129">
    <p align="center">
    <% 
    if TRIM(rs.Fields("foto")) & "[]" <> "[]" then 
    %> 
    <a href="java-script:apri('public/foto/<%=rs.Fields("foto")%>','','550','500','no');"> 
    [img]public/foto/<%=rs.Fields([/img]" height="90" border="0" width="103"></a>
    <%
    else
    %>
    [img]images/nofoto.png[/img]
    <%
    end if
    %>
    </td>
    <td> <%=rs.Fields("provincia")%> - <%=rs.Fields("indirizzo")%>
    
     <%=rs.Fields("sezione")%> - <%=rs.Fields("tipologia")%> - <%=rs.Fields("sottotipologia")%> - <%=rs.Fields("mq")%>
    
     <%=rs.Fields("note")%>
    </td>
    </tr>
    </table>
    </fieldset>
    
    
    
    ----------------------------------------------------------------------------------------
    
     </p>
    </font>
    Grazie infinite per il tuo aiuto.
    G.

  9. #9
    Originariamente inviato da djjunior
    Certo che la pagina e .asp
    e lo sto testando in locale quindi l'url è: http://localhost etc.
    Mi viene bianca, in pratica vedendo il codice html della pagina non c'è la parte dove dovrebbe stampare i record cioè:
    codice:
    
    <fieldset style="width: 500px; height: 59px">
    <table border="0" width="500" cellspacing="1" id="table1" height="59">
    <tr>
    <td width="129">
    <p align="center">
    <% 
    if TRIM(rs.Fields("foto")) & "[]" <> "[]" then 
    %> 
    <a href="java-script:apri('public/foto/<%=rs.Fields("foto")%>','','550','500','no');"> 
    [img]public/foto/<%=rs.Fields([/img]" height="90" border="0" width="103"></a>
    <%
    else
    %>
    [img]images/nofoto.png[/img]
    <%
    end if
    %>
    </td>
    <td> <%=rs.Fields("provincia")%> - <%=rs.Fields("indirizzo")%>
    
     <%=rs.Fields("sezione")%> - <%=rs.Fields("tipologia")%> - <%=rs.Fields("sottotipologia")%> - <%=rs.Fields("mq")%>
    
     <%=rs.Fields("note")%>
    </td>
    </tr>
    </table>
    </fieldset>
    
    
    
    ----------------------------------------------------------------------------------------
    
     </p>
    </font>
    Grazie infinite per il tuo aiuto.
    G.
    Questo è il codice così come te lo restituisce il browser?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    No questo è il codice che non c'è nella pagina restituita dal browser perchè questo sarebbe il codice dei records stampati.
    Il browser mi restituisce la parte iniziale della pagina.
    Grazie
    G.

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.