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

    valori in una tabella dopo una ricerca da form

    ciao a tutti. è un pò che seguo il vostro forum ed ho trovato spunti interessanti per il lavoro che sto svolgendo. in pratica devo creare un piccolo sito in asp che permetta di relazionarsi col mio Db. seguendo diversi tutorial, discussioni ed un libro sono riuscito a creare un piccolo motore di ricerca per cercare un valore stabilito da un utente all'interno di una tabella del database. il tutto funziona ma ora ho un piccolo problema: vorrei che i valori che visualizzo a video siano inseriti in una tabella in modo da ottimizzare la grafica. sono 3 giorni che ci lavoro sopra ma niente..non riesco ad inserirceli. mi potreste aiutare? ho utilizzato query sql e un pò di codice java (che non conosco molto bene). sto cercando di capire passo passo quello che sto facendo perchè questo lavoro mi serve come tirocinio universitario...
    vi posto il codice della mia pagina:

    <%@LANGUAGE = JScript%>
    <html>
    <head>
    <title>Cerca nel sito</title>
    </head>
    <body>

    <h3>Cerca nel sito</h3>

    <form method="POST" action="ricercaditta.asp?cerca=OK">
    <input type="text" name="stringa">
    <input type="submit" value="Cerca">
    </form>


    <table border="1">
    <tr>
    <td>Ditta:</td>
    <td>Consorzio:</td>
    <td>Ambito:</td>

    </tr>


    <%

    var cerca = new String(Request.QueryString("cerca"));
    var testo = new String(Request.Form("stringa"));
    var apice = testo.replace(/'/g,"''");
    var stringa = apice.split(" ");
    if (cerca == "OK")
    {
    if (testo == "" || testo == "undefined")
    {
    Response.Write("

    Inserire almeno una parola per effettuare una ricerca</p>");
    }
    else
    {
    var Cn = new ActiveXObject("ADODB.Connection");
    Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database/Verifichedisistema.mdb"));


    var sql = "SELECT * FROM Ditte WHERE";
    for (var i=0; i<stringa.length; i++)
    {
    if (i > 0)
    {
    sql += " AND";
    }
    sql += " Ditta LIKE '%" + stringa[i] + "%'";
    }
    var Mostra = Cn.Execute(sql);

    %>




    <tr>

    <td> <% Response.Write(Mostra("Ditta"))%></td>
    <td> <% Response.Write(Mostra("Consorzio"))%></td>
    <td> <% Response.Write(Mostra("Ambito"))%></td>

    </tr>





    <%
    Mostra.MoveNext()
    Wend

    End If
    %>



    </table>
    </body>
    </html>

    <%
    ' Chiudo la connessione
    cn.Close
    Set cn = Nothing
    %>


    un grazie in anticipo a tutti coloro che mi sapranno aiutare..Alessandro

  2. #2
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Ciao, io di solito uso i recordset per leggere il db perche utilizzando la execute mi trovo male a leggere piu record dato che li devo intabellare, li devo leggere uno a uno...
    ti serve quindi un oggetto recordset
    usando codice vbscript che uso di solito
    Set RS = Server.CreateObject("ADODB.Recordset")
    in jscript la sintassi è
    var objRs = new ActiveXObject("ADODB.Recordset");

    prendendo spunto da questo esempio sotto
    devi costruire la tabella dentro il ciclo while chiudendo e aprendo lo script
    con il carattere %> e <% e
    in mezzo ci metti la parte di <td> <% Response.write(objRs("campo"))%></td>
    questo obbliga jscript a scrivere i valori del recordset(campo) dentro il tabledata dove vuoi tu...naturalmente avendo piu record devi aprire un tag <TR> e chiuderlo appropriatamente
    spero di essere stato chiaro
    se mai possiamo discuterne ancora...
    ciao

    -----------------------------
    main();

    function main()
    {
    DP = "SQLOLEDB";
    DS = "MySQLServer";
    DB = "NORTHWIND";

    adOpenForwardOnly = 0;
    adLockReadOnly = 1;
    adCmdText = 1;
    try
    {
    var objRs = new ActiveXObject("ADODB.Recordset");
    }
    catch (e)
    {
    alert("ADODB namespace not found.");
    exit(0);
    }

    strConn = "Provider=" +DP+
    ";Initial Catalog=" +DB+
    ";Data Source=" +DS+
    ";Integrated Security=SSPI;"
    strComm = "SELECT ProductID,ProductName,UnitPrice "+
    "FROM Products " +
    "WHERE CategoryID = 7" // select Produce

    objRs.open(strComm,
    strConn,
    adOpenForwardOnly,
    adLockReadOnly,
    adCmdText);

    objRs.MoveFirst();
    while (objRs.EOF != true)
    {
    alert(objRs("ProductID")+"\t"
    +objRs("ProductName")+"\t"
    +objRs("UnitPrice"));
    objRs.MoveNext();
    }

    objRs.Close
    objRs = null;
    }


    function alert(str)
    {
    WScript.Echo(str);
    }
    -----------
    Vic53

  3. #3
    ti ringrazio..c'ho lavorato un pò su e sono riuscito a sistemare il tutto! grazie mille

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.