Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    Response dati in + tabelle in database access

    Premesso che già avevo aperto una discussione su questo problema e già ne ero venuto a capo grazie a questo forum.
    Convinto si trovasse nelle mie 11 pagine di discussioni aperte, questa mattina me le sono viste una ad una voi non ci crederete ma non esiste + mi ricordo anche che la soluzione me la diede imente, ma!!! bo!!

    Allora mi collego ed estraggo le informazioni all'interno del data-base usando la stessa pagina.asp
    Al momento le estraggo solo da 1 tabella ma vorrei che nel campo cerca della submit quando inserisco la parola da cercare, il sistema andasse a cerca nelle tabelle prestabilite...Spero di essermi spiegato bene.

    Il codice è in js:

    <%@LANGUAGE = JScript%>

    Eseguo il response

    Response.Buffer = true;

    Variabile
    var Cn = new ActiveXObject("ADODB.Connection");

    Connessione
    Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/cerca.mdb"));

    Form
    var testo = new String(Server.HTMLEncode(Request.Form("cerca")));
    //Response.Write(testo +"
    ")
    var r_testo = testo.replace(/'/g,"''");
    //Response.Write(r_testo +"
    ")
    var cerca = r_testo.split(" "); //

    Tabella dove cercare
    var sql = "SELECT * FROM risultati WHERE 1=1 ";
    var where=""
    var i
    for (i=0; i<cerca.length; i++)
    {
    if(i==0){ Campo dove cercare
    sql += " AND chiave LIKE '%" + cerca[i] + "%' ";
    }else{
    sql += " OR chiave LIKE '%" + cerca[i] + "%' ";
    }
    //Response.Write(cerca[i] +"
    ")
    }

    Ordino la ricerca
    sql += " ORDER BY Nome Asc";
    //Response.Write(sql) ;
    //Response.End;
    var Mostra = Cn.Execute(sql);
    %>

    Ora vorrei cercare oltre la chiave

    anche le porte porte

    come faccio?

    Grazie anticipatamente

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Secondo me volevi postare in asp? Discussione segnalata ai mod
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3

    Re - ALESSANDRO007

    Nessuno che mi aiuta ?

    Lo so che la soluzione ce l'ho sotto gli occhi e difatti sto provando però se mi aiutate faccio prima.

    Vado di fretta VVoVe:

    Spero che l'attesa non sia lunga

  4. #4

    Response dati in + tabelle in database access

    Ho provato in questa maniera ma il risultato non cambia
    var sql = "SELECT* id, chiave + Porte FROM risultati WHERE 1=2 ";
    var where=""

    La tabella nel data-base si compone cosi:

    id
    testo
    chiave
    porte

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    for (i=0; i<cerca.length; i++)
    {
      if(i==0){ 
        sql += " AND ";
      }else{
        sql += " OR ";
      }
      sql += "(chiave LIKE '%" + cerca[i] + "%' OR porte LIKE '%" + cerca[i] + "%')";
    }
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6

    RE - br1

    Grazie 1 miliardo di volte provo e ti faccio sapere, grazie ancora.

  7. #7

    Response dati in + tabelle in database access

    Mi da errore di - Microsoft jvscript - runtime 800a13921

    errore nella pagina.asp rigo 385 - al rigo 385 ho:


    <%if (testo != "undefined") {%>

    Avevo impicciato qualcosa ----------------------->

    Va bene inserisco il codice ma il risultato non cambia non mi fa la ricerca per porte, x chiave si.

    Codice midificato:

    <%@LANGUAGE = JScript%>
    <%
    Response.Buffer = true;
    var Cn = new ActiveXObject("ADODB.Connection");
    Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/cerca.mdb"));
    var testo = new String(Server.HTMLEncode(Request.Form("cerca")));
    //Response.Write(testo +"
    ")
    var r_testo = testo.replace(/'/g,"''");
    //Response.Write(r_testo +"
    ")
    var cerca = r_testo.split(" "); //
    var sql = "SELECT * FROM risultati WHERE 1=1 ";
    var where=""
    var i
    for (i=0; i<cerca.length; i++)

    for (i=0; i<cerca.length; i++)
    {
    if(i==0){
    sql += " AND ";
    }else{
    sql += " OR ";
    }
    sql += "(chiave LIKE '%" + cerca[i] + "%' OR Porte LIKE '%" + cerca[i] + "%')";
    }
    sql += " ORDER BY Porte Asc";
    //Response.Write(sql) ;
    //Response.End;
    var Mostra = Cn.Execute(sql);
    %>

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    for (i=0; i<cerca.length; i++)
    
    for (i=0; i<cerca.length; i++)
    Dovrebbe bastarne uno

    Prova cosi':
    codice:
    var sql = "SELECT * FROM risultati ";
    var i;
    for (i=0; i<cerca.length; i++)
    {
      if(i==0){ 
        sql += " WHERE ";
      }else{
        sql += " OR ";
      }
      sql += "chiave LIKE '%" + cerca[i] + "%' OR Porte LIKE '%" + cerca[i] + "%'";
    } 
    sql += " ORDER BY Porte Asc";
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9

    Response dati in + tabelle in database access

    Rimettiamolo in memoria come record su questo forum::::::::::

    RISOLTO !!! ECCOLO FUNZIONANTE

    fILE = Pagina.asp

    Codice:

    <%@LANGUAGE = JScript%>

    <%

    Response.Buffer = true;
    var Cn = new ActiveXObject("ADODB.Connection");
    Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/cerca.mdb"));
    var testo = new String(Server.HTMLEncode(Request.Form("cerca")));
    //Response.Write(testo +"
    ")
    var r_testo = testo.replace(/'/g,"''");
    //Response.Write(r_testo +"
    ")
    var cerca = r_testo.split(" "); //

    var sql = "SELECT * FROM risultati ";
    var i;
    for (i=0; i<cerca.length; i++)
    {
    if (i > 0) sql += " AND";
    sql += " WHERE ";
    }
    {sql += " OR ";
    sql += "chiave LIKE '%" + cerca[i] + "%' OR Porte LIKE '%" + cerca[i] + "%'";
    }
    sql += " ORDER BY Porte Asc";

    %>


    ------------------------> Segue


    Risultati.asp

    codice:

    <%@LANGUAGE = JScript%>
    <%
    Response.Buffer = true;
    var Cn = new ActiveXObject("ADODB.Connection");
    Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/cerca.mdb"));
    var testo = new String(Server.HTMLEncode(Request.Form("cerca")));
    var r_testo = testo.replace(/'/g,"''");
    var cerca = r_testo.split(" chiave Nome "); // Tutte le parole chiave devono essere separate da uno spazio vuoto

    var sql = "SELECT * FROM risultati ";
    var i;
    for (i=0; i<cerca.length; i++)
    {
    if(i==0){
    sql += " WHERE ";
    }else{
    sql += " OR ";
    }
    sql += "chiave LIKE '%" + cerca[i] + "%' OR Porte LIKE '%" + cerca[i] + "%'";
    }
    sql += " ORDER BY Porte Asc";
    var Mostra = Cn.Execute(sql);

    %>

    var i;

    for (i=0; i<cerca.length; i++)

    {

    if (i > 0) sql += " AND";

    sql += " WHERE ";

    }else
    {
    sql += " OR ";
    }
    sql += "chiave LIKE '%" + cerca[i] + "%' OR Porte LIKE '%" + cerca[i] + "%'";
    }
    sql += " ORDER BY Porte Asc";
    var Mostra = Cn.Execute(sql);

    <-------------------------------->

    Il problema era la :

    var Mostra = Cn.Execute(sql);

    Nel fILE = Pagina.asp

    che invece è presente nel

    file Risultati.asp

    Io ho risolto ma a dire il vero non ho capito perchè funziona cosi solamente !!!!

    Se inserisco la :

    var Mostra = Cn.Execute(sql);

    e la:

    if (i > 0) sql += " AND";

    anche nel file pagina.asp nasce il problema.

    Cmq funziona ma vorrei capire !!!!

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Mi spiace, esposto cosi' faccio fatica a capire cosa va e cosa no, separa nettamente le due versioni....

    Tra l'altro nel primo codice mancherebbe un else ... te lo metto indentato per capire meglio perche' mi perplime...
    codice:
    var sql = "SELECT * FROM risultati ";
    var i;
    for (i=0; i<cerca.length; i++) {
      if (i > 0) sql += " AND"; 
      sql += " WHERE ";
    }
    {
      sql += " OR ";
      sql += "chiave LIKE '%" + cerca[i] + "%' OR Porte LIKE '%" + cerca[i] + "%'";
    } 
    sql += " ORDER BY Porte Asc";
    Come vedi e' una logica tutta diversa... dubito che in situazioni comprendenti piu' di un termine da ricercare possa funzionare.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.