Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Select e variabile

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    60

    Select e variabile

    Salve ho due list, in una cè le categorie nell'altra i prodotti

    varei bisogno che quando si clicca sulla categoria sulla seconda si visualizzi i prodotti.




    ho provato con questa formula ma non funziona:


    strSQL = "Select & categorie & FROM catalogo"

    qualcuno puo' aiutarmi?
    grazie.

  2. #2
    Mi sembra di capire che vuoi creare un link per visualizzare i prodotti appartenenti ad una certa categoria.

    Se è così, posta per favore la struttura del database (nome delle tabelle, nome dei campi)
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    60
    <% f_cat = Request.Form("Categoria") %>
    <% f_ogg = Request.Form("oggetti") %>



    <font face="Verdana">Categoria
    <select name="Categoria" size="1" id="Categoria">
    <option>Armi_da_tiro</option>
    <option>Armi_da_botta</option>
    <option>Armi_da_assedio</option>
    <option>faretre_e_munizioni</option>
    <option>fionde_e_fruste</option>
    <option>Arredamento</option>
    <option>Varie</option>
    </select>
    </font>
    </p>
    <font face="Verdana"></font>[b]<font face="Verdana"><div align="center">
    <center>


    Prodotto
    <select name="oggetti" size="1" id="oggetto1">
    <%
    Dim strDataBasePath 'Variabile
    Dim cString 'Variabile
    Dim adoCon 'Variabile
    Dim strSQL 'Variabile


    Set adoCon = Server.CreateObject("ADODB.Connection")

    strDataBasePath = "database/shop.mdb"
    '------------------------------------------------------------------------------------
    cString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(strDataBasePath)
    adoCon.Open cString
    strSQL = "Select "variabile categoria" FROM tutte le tabelle nella options"

    set rs = Server.CreateObject("ADODB.recordset")
    rs.Open strSQL, adoCon

    do until rs.EOF
    oggetto1 = rs.Fields("oggetto1")
    id = rs.Fields("ID")
    %>
    <option value="<%Response.write(oggetto1)%>" <%if f_ogg=0 then %>SELECTED<% end if%>>
    <%Response.write(oggetto1 & "(" & id & ")")%>
    </option>
    <%
    rs.MoveNext
    loop
    rs.close
    %>
    </select>
    </p>
    </center>
    </div>


    spero sia utile.

  4. #4
    Le due select si trovano nella stessa pagina o in pagine diverse?
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    60
    stessa pagina

  6. #6
    La select (lista) che deve ricaricarsi cliccando su una voce dell'altra deve essere preceduta da queste righe:

    codice:
    if len(f_cat)>0 then
    
    strSQL = "Select * from nome_tabella WHERE categoria=' " & f_cat & " ' "
    in questo modo, se hai cliccato su una categoria, la variabile f_cat (cioè request.form("categoria")) non è vuota e quindi, con la quary qui sopra e il tuo codice, la seconda lista si riempie con gli oggetti appartenenti a quella categoria.

    Attenzione:

    se vuoi che la lista si ricarichi quando clicchi sulla categoria (e non sul pulsante submit) devi aggiungere, all'interno del tag <select> della prima lista, l'istruzione HTML/javascript:

    onChange="submit()"
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  7. #7
    L'istruzione "onChange....." è indispensabile se le due liste si trovano sulla stessa pagina, ma in questo caso devi risolvere un altro problema: immagino che il form, quando è completo, dovrà inviare i dati a un'altra pagina.

    L'indirizzo della pagina è specificato nel tag

    <form name="nome_del_form" method="post" action="indirizzo "></form>

    Per fare in modo che i dati prendano la via dell'indirizzo quando l'utente clicca sul tasto submit, ma non quando aggiornano la seconda lista scegliendo una categoria dalla prima lista, dovrai togliere l'indirizzo (cioè l'action) dal tag form e metterlo in un controllo javascript facendo in questo modo:

    - il pulsante submit sarà creato dall'istruzione
    codice:
    <input type="button" value="invìa" onClick="javascript: vai();">
    e nell'head della tua pagina metterai la funzione javascript:
    codice:
    function vai() {
        document.nome_del_form.action="indirizzo";
        document.nome_del_form.submit();
    }
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  8. #8
    Javascript è una parola sola, chiedo scusa.....

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    60
    tutto ok tranne che....

    quando ricarica la pagina rimane nella lista l'utensile precedente e quindi mi genera il seguente errore:

    Errore di run-time di Microsoft VBScript (0x800A000D)
    Tipo non corrispondente: '[string: "Tridente"]'
    /carpentieri/vendic.asp, line 100


    so' perche ma non riesco a risolverlo.


  10. #10
    Vai in conflitto con l'istruzione

    <% f_ogg = Request.Form("oggetti") %>

    Una possibile soluzione è fargliela eseguire solo se la pagina di provenienza non è la pagina stessa, cioè se stai acquisendo i dati da un altro form e non ricaricando la pagina dopo avere scelto una categoria dalla prima lista.

    Prova a sostituirla con
    codice:
    <%
    if request.servervariables("HTTP_referer")<> "indirizzo_di_questa_stessa_pagina" then
    f_ogg = Request.Form("oggetti") 
    end if
    %>
    ...in questo modo, se abbiamo capito il problema, dovrebbe andare
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.