Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    10

    Aiuto modulo di ricerca

    Mi aiutereste a capire come fare per collegare al modulo di ricerca la possibilità di scegliere se ricercare nel database per NomeCartaItaliano o TipoCarta.
    Ho già creato il menù a tendina per la scelta delle due opzioni ma come la collego al tasto cerca?



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

    <h3>Cerca nel sito</h3>

    <label>

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

    <select id="tipo" name="tipo">
    <option>---</option>
    <option value="NomeCartaItaliano">NomeCartaItaliano</option>
    <option value="TipoCarta">TipoCarta</option>
    </select>

    </label>

    <%
    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 rcerca</p>");
    }
    else
    {
    var Cn = new ActiveXObject("ADODB.Connection");
    Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("databsemagic.mdb"));
    var sql = "SELECT * FROM Magic WHERE";
    for (var i=0; i<stringa.length; i++)
    {
    if (i > 0)
    {
    sql += " AND";
    }
    sql += " NomeCartaItaliano LIKE '%" + stringa[i] + "%'";
    }
    var Mostra = Cn.Execute(sql);
    if (Mostra.EOF)
    {
    Response.Write("

    Nessun risultato</p>");
    }
    else
    {
    while (!Mostra.EOF)
    {
    with (Response)
    {

    Write("<TABLE BORDER=1><TR><TD width=200>" + Mostra("NomeCartaItaliano")+ "</TD>");
    Write("<TD width=200>");
    Write(Mostra("TipoCarta") + "</TD>");
    Write("<TD width=200>");
    Write(Mostra("Edizione") + "</TD>");
    Write("<TD width=40>");
    Write(Mostra("Rarità") + "</TD>");
    Write("<TD width=30>");
    Write(Mostra("Italiana") + "</TD>");
    Write("<TD width=30>");
    Write(Mostra("Italiana Foil") + "</TD>");
    Write("<TD width=30>");
    Write(Mostra("Inglese") + "</TD>");
    Write("<TD width=30>");
    Write(Mostra("Inglese Foil") + "</TD></TR></TABLE>");
    Mostra.MoveNext();
    }
    }
    }
    Cn.Close();
    }
    }
    %>

    </body>
    </html>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    A) Posta solo codice html (cioè come lo riceve il browser) qui non tutti conoscono ASP,PHP, etc.. e inoltre confonde
    B) Quando posti codice racchiudilo utilizzando i tasti # o PHP che trovi sulla barra diventa più leggibile
    C) Non usate nel titolo aiuto se posti in un forum è intrinseco che cerchi aiuto altrimenti non posti
    D) Prima di postare controlla attentamente il codice spesso sono errori banali (come in questo caso)
    Premesso questo soluzione, metti la select dentro il form cosi:
    codice:
    <form method="POST" action="ricercamagictable.asp?cerca=OK">
    <input type="text" name="stringa">
    <input type="submit" value="Cerca">
    <select id="tipo" name="tipo">
    <option>---</option>
    <option value="NomeCartaItaliano">NomeCartaItaliano</option>
    <option value="TipoCarta">TipoCarta</option>
    </select>
    </form>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    10
    Hai ragione la prossima volta seguirò le tue istruzioni.

    Cmq volevo sapere il codice asp per poter effettuare la ricerca scegliendo una delle due opzioni inserite nel tag select.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Aggiungi:
    codice:
    var tipo = new String(Request.Form("tipo"));
    e modifica la query cosi:
    codice:
    if(stringa !="" && tipo != ""){
    var sql = "SELECT * FROM Magic WHERE  TipoDiCarta = '"+tipo+"' AND  TestoLibero LIKE '%" + stringa + "%'";
    }else if(stringa !=""){
    var sql = "SELECT * FROM Magic WHERE  TestoLibero LIKE '%" + stringa + "%'";
    }else if(tipo != ""){
    var sql = "SELECT * FROM Magic WHERE  TipoDiCarta = '"+tipo+"'";
    }
    col beneficio del dubbio non sviluppo in jscript da anni

    P.S. TipoDiCarta e TestoLIbero saranno i rispettivi campi che hai nella tabella che io non conosco

    P.S.S. Hai fatto cross-post con ASP e vietato
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.