Visualizzazione dei risultati da 1 a 7 su 7

Discussione: motore di ricerca

Visualizzazione discussione

  1. #4
    Questa è la pagina principale che contiene i frame:
    =================
    <html>
    <head>
    <title>Cerca nel sito</title>
    </head>
    <frameset rows="80,*" border="0">
    <frame src="nav.html" name="alto">
    <frame src="help.html" name="bot" target="_top">
    </frameset>
    </frameset>
    <body>
    </body>
    </html>
    ====================

    Nel frame di sopra va il codice vero e proprio e va richiamato il file .js esterno:

    ======================
    <script language="javascript" src="../_files/db.js"></script>
    <script language="javascript">

    var tutti = "_and"
    var alcuni = "_or"
    var tipo_ricerca = ""
    var s = 0
    var o = 10
    var copia_risultati = new Array()
    var doc = parent.frames[2].document

    function filtro (query) {
    if (query.charAt(0) == "+")
    {
    query = query.substring (1, query.length)
    tipo_ricerca = tutti
    }
    else
    {
    tipo_ricerca = alcuni
    }
    while (query.charAt(0) == " ") query = query.substring(1, query.length)
    document.forms[0]._query.value = query
    while (query.charAt(query.length - 1) == " ") query = query.substring(0, query.length - 1)
    document.forms[0]._query.value = query
    formatta_stringa (query)
    }

    function formatta_stringa (query) {
    var stringa_formata = query.split (" ")
    if (tipo_ricerca == "_or")
    cerca_or (stringa_formata)
    else
    cerca_and (stringa_formata)

    }

    function cerca_or (stringa_formata) {
    var matrix = new Array()
    for (i = 0; i < db.length; i++)
    {
    var stringaConfronto = db[i].toUpperCase()
    var stringaUtile = stringaConfronto.substring(0, stringaConfronto.lastIndexOf("|"))
    for (j = 0; j < stringa_formata.length; j++)
    {
    var stringaUtente = stringa_formata[j].toUpperCase()
    if (stringaUtile.indexOf(stringaUtente) != -1)
    {
    matrix[matrix.length] = db[i]
    break
    }
    }
    }
    verifica(matrix)
    }

    function cerca_and (stringa_formata) {
    var matrix = new Array()
    for (i = 0; i < db.length; i++)
    {
    var coincidenza = true
    var stringaConfronto = db[i].toUpperCase()
    var stringaUtile = stringaConfronto.substring(0, stringaConfronto.lastIndexOf("|"))
    for (j = 0; j < stringa_formata.length; j++)
    {
    var stringaUtente = stringa_formata[j].toUpperCase()
    if (stringaUtile.indexOf(stringaUtente) == -1)
    coincidenza = false
    }
    if (coincidenza)
    matrix[matrix.length] = db[i]
    }
    verifica(matrix)
    }

    function verifica (matrix) {
    if (matrix.length == 0)
    {
    doc.open()
    doc.write('<html><head><style type="text/css">body{ scrollbar-face-color: #FFFFFF; scrollbar-arrow-color: #3300FF; scrollbar-3dlight-color: #FFFFFF; scrollbar-base-color: #66CCFF; scollbar-darkshadow-color: #3300FF;}</style></head><body ALINK="#330066" VLINK="#CC0000" TEXT="#000000" LINK="#FF0000" style="background-color: #66CCFF"><hr size="1" noshade color="#FFFF00">')
    doc.write('<font face="Verdana, Arial, sans" size="3"><div align="center">Spiacente, non ho trovato elementi corrispondenti</div></font><hr size="1" noshade color="#FFFF00"></body></html>')
    doc.close()
    }
    else
    {
    array_risultati = matrix.sort()
    stampa_risultati(array_risultati, s, o)
    }
    }

    function stampa_risultati(array_risultati, s, o) {
    var limite = (array_risultati.length < s + o) ? array_risultati.length : (s + o)
    doc.open()
    doc.write('<html><head><style type="text/css">body{ scrollbar-face-color: #FFFFFF; scrollbar-arrow-color: #3300FF; scrollbar-3dlight-color: #FFFFFF; scrollbar-base-color: #66CCFF; scollbar-darkshadow-color: #3300FF;}</style><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><base TARGET="_top"></head><body ALINK="#330066" VLINK="#CC0000" TEXT="#000000" LINK="#FF0000" style="background-color: #66CCFF">' + '<table width="90%" border="0">' + '<tr><td><hr size="1" noshade color="#FFFF00"><tr><td><font face="Verdana, Arial, sans" size="2">Chiave di ricerca: ' + '' + parent.frames[0].document.forms[0]._query.value + '' + '
    Risultati:' + '' + ' da ' + (s + 1) + ' a ' + limite + ' di ' + array_risultati.length + '</font>' + '
    <hr size="1" noshade color="FFFF00">')
    for (i = s; i < limite; i++)
    {
    var splitta = array_risultati[i].split("|")
    doc.write('<tr><td><dl><font face="Verdana, Arial, sans" size="2">' + splitta[0].link(splitta[2]) + '<dd>' + splitta[1] + '</font>')
    }
    doc.write('<tr><td><hr size="1" noshade color="#FFFF00"></table>')
    visualizza_pulsanti (array_risultati, s, o)
    doc.write('</body></html>')
    doc.close()
    }

    function visualizza_pulsanti(array_risultati, s, o) {
    doc.write('<form><div align="center">')
    if (s > 0)
    {
    doc.writeln('<input TYPE="image" value="Precedenti" onClick="parent.frames[0].stampa_risultati(parent.frames[0].array_risultati, ' + (s - o) + ', ' + o + ')" SRC="03.gif">')
    }
    if (s + o < array_risultati.length)
    {
    doc.writeln('<input type="image" value="Successivi" onClick="parent.frames[0].stampa_risultati(parent.frames[0].array_risultati, ' + (s + o) + ', ' + o + ')" SRC="01.gif">')
    }
    doc.write('</div></form>')
    }
    </script>
    ==================
    Attenzione però il codice contiene delle personalizzazioni che hoinserito per adattarlo allo stile del mio sito; le due immagini che si vedono se i risultati non vanno in una pagina, sono due frecce che provvedo ad inserire nel forum.
    Nel tag body di questa pagina scrivi questo:
    ====================
    <form name ="cerca" onSubmit="filtro(document.forms[0].elements[0].value); return false">
    <div align="center">
    <table width="550" border="0">
    <tr>
    <td width="500"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">CERCA
    NEL SITO</font><font face="Verdana, Arial, Helvetica, sans-serif" size="-2"></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
    <input type="text" name="_query" size="30">
    </font></td>
    <td width="50">
    <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">HELP</font></div>
    </td>
    </tr>
    </table>

    </div>
    </form>

    ==================

    Questa è l'altra pagina contenuta nel frame in basso:
    =================
    <div align="center">
    <table width="550" border="0">
    <tr>
    <td colspan="3" valign="top" height="0">
    <hr noshade size="1">
    </td>
    </tr>
    <tr>
    <td height="13" valign="top" width="49%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FF0000">per
    cercare almeno una parola...</font></td>
    <td width="2%" valign="top" height="13"></td>
    <td width="49%" valign="top" height="13"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#F0000">per
    cercare esattamente pi&ugrave; parole...</font></td>
    </tr>
    <tr>
    <td colspan="3" valign="top" height="0">
    <div align="center">
    <hr align="center" size="1" noshade>
    </div>
    <div align="center"></div>
    </td>
    </tr>
    <tr>
    <td valign="top" width="49%">


    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">...inserite
    le parole da cercare, senza segni di interpunzione, nella casella CERCA
    NEL NOSTRO DATABASE, poi premete INVIO.



    </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Per
    esempio, digitando:

    shopping televisori

    verranno visualizzati tutti i record che contengono almeno uno dei due
    termini.</font></p>
    </td>
    <td valign="top" width="2%"></td>
    <td valign="top" width="49%">


    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">...digitate
    le parole da cercare, senza segni di interpunzione, nella casella CERCA
    NEL NOSTRO DATABASE facendole precedere dal segno &quot;+&quot;, poi
    premete INVIO.</font></p>


    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Per esempio,
    digitando:

    + shopping televisori

    verranno visualizzati tutti i record che contengono entrambi i termini.</font></p>
    </td>
    </tr>
    <tr>
    <td colspan="3" valign="top" height="10">
    <div align="center">
    <hr noshade size="1">
    </div>
    </td>
    </tr>
    <tr>
    <td colspan="3" valign="top" height="2">
    <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#FF0000" STYLE="font-variant: small-caps">Attenzione: maiuscole e minuscole non influiscono sulla ricerca.</font></div>
    </td>
    </tr>
    <tr>
    <td colspan="3" valign="top" height="12">
    <hr align="center" noshade size="1">
    </td>
    </tr>
    </table>
    </div>
    =====================
    Come puoi vedere questa pagina contiene solo una descrizione.
    Immagini allegate Immagini allegate

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.