Ringrazio chiunque sara' in grado di darmi una mano:
Ho trovato un javascript che permette di gestire un piccolo database e fa una ricerca sullo stesso. Per le mie esigenze pero' fa troppe cose dato che lui fa ricerche su piu' campi di uno stesso record, mentre a me serve soltanto che ricerchi in un solo campo (il primo) poi scriva a video la descrizione di questo codice (il secondo campo)e linki per questo risultato un file dbf.
Invece attualmente lo script fa ricerche combinate e altre cose che non mi occorrono.
Qualcuno puo darmi una mano a semplificarlo?
Grazie mille.
Il file si trova QUI
e lo script e':
il db.js e' fatto cosi':codice:<script language="javascript" src="db.js"></script> <script language="javascript"> var tutti = "_and" var alcuni = "_or" var tipo_ricerca = "" var s = 0 var o = 5 var copia_risultati = new Array() var doc = parent.frames[1].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></head><body bgcolor="white"><hr size="1" noshade>') doc.write('<font face="Verdana, Arial, sans" size="3"><div align="center">Spiacente, non ho trovato elementi corrispondenti</div></font><hr size="1" noshade></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><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="white">' + '<table width="90%" border="0">' + '<tr><td><hr size="1" noshade><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>') 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]) + '' + splitta[1] + '</font>') } doc.write('</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 + o < array_risultati.length) { doc.write('<input type="button" value="successivi" onClick="parent.frames[0].stampa_risultati(parent.frames[0].array_risultati, ' + (s + o) + ', ' + o + ')">') } if (s > 0) { doc.write('<input type="button" value="precedenti" onClick="parent.frames[0].stampa_risultati(parent.frames[0].array_risultati, ' + (s - o) + ', ' + o + ')">') } doc.write('</div></form>') } </script>
codice:var db = new Array ("campo 1|Descrizione1|url_pdf", "campo 2|Descrizione2|url_pdf", "campo 3|Descrizione3|url_pdf");

Rispondi quotando
