Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    10

    passare una variabile della stessa form

    Buongiorno a tutti,

    non sò se è una domanda banale ma ve la pongo comunque perchè non riesco a trovare una soluzione: Codice

    <form enctype="multipart/form-data" method="post" action="<?php echo $PHP_SELF ?>">
    <tr><td align="right">Regione
    </td><td><select name="id_re">
    <?php
    $query2 = "SELECT * FROM regioni ORDER BY regioni";
    $result2 = mysql_query($query2, $db);
    while ($row2 = mysql_fetch_array($result2))
    {
    echo "<option value=\"$row2[id]\">$row2[regione]";
    } ?>
    </select></tr>
    <tr><td align="right">Provincia
    </td><td><select name="id_pr">
    <?php
    $query2 = "SELECT * FROM province ORDER BY provincia";
    $result2 = mysql_query($query2, $db);
    while ($row2 = mysql_fetch_array($result2))
    {
    echo "<option value=\"$row2[id]\">$row2[provincia]";
    } ?>
    </select></tr>
    .
    . </form>

    nella prima select seleziono la "regione" nella seconda select vorrei visualizzare solo le provincie della regione selezionata, nell'esempio non è impostata la clausola WHERE per in quanto non sò come passare la variabile.

    ringrazio.

  2. #2
    Devi inviare la form per ricevere il valore della regione.

    Occhio, non hai messo "name" alla prima select.

    Edit: no, scusa l'hai messo... sorry...
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    10
    ma come faccio a inviare la form direttamente dal tag select?

    grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Non devi inviare il form al tag select
    Devi inviare il forma alla stessa pagina che creerà il tag select in base ai dati ricevuti

    Immaginando che la tua tabella province contenga un campo "id_re" che identifica a quale regione appartiene quella determinata provincia, dovrai fare una cosa del genere (vedi la if(isset($_POST["id_re"])) e la clausola WHERE
    Codice PHP:
    form enctype="multipart/form-data" method="post" action="<?php echo $PHP_SELF ?>">
    <tr><td align="right">Regione
    </td><td><select name="id_re">
    <?php
    $query2 
    "SELECT * FROM regioni ORDER BY regioni";
    $result2 mysql_query($query2$db);
    while (
    $row2 mysql_fetch_array($result2))
    {
        echo 
    "<option value=\"$row2[id]\">$row2[regione]";
    ?>
    <tr><td align="right">Provincia
    </td><td><select name="id_pr">
    <?php
    if(isset($_POST["id_re"]))
    {
        
    $query2 "SELECT * FROM province WHERE id_re = ".$_POST["id_re"]." ORDER BY provincia";
        
    $result2 mysql_query($query2$db);
        while (
    $row2 mysql_fetch_array($result2))
        {
            echo 
    "<option value=\"$row2[id]\">$row2[provincia]";
        }
    }
     
    ?>
    </select></tr>
    </form>
    In questo modo se è la prima volta che entri nella pagina avrai le province VUOTE, mentre se è la seconda (terza ecc), avrai anche l'elenco delle province della regione

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    10
    ho provato il codice ma non funziona, in questo modo non visualizza nessuna provincia.

    selezionando la regione per la prima ed anche per le volte successive non visua nessuna provincia.

    Obiettivo: Cambiando la selezione della regione <select name="id_re"> ... </select>
    selezione delle sole province di appartenenza nella <select name="id_pr"> ... </select>

    il tutto nello stesso tag form.

    ringrazio
    ricmac

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Premetto che non ho capito quello che hai detto

    Non ho capito se hai premuto il bottone invia del form, perchè se vuoi che avvenga "in diretta" allora devi usare Javascript (per la precisione AJAX) poichè il PHP è un linguaggio lato server e non può fare nulla senza "ricare la pagina" premendo il tasto submit

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    10
    Scusa se non sono stato abbastanza chiaro, ma in realtà a me sarebbe piaciuto farlo in diretta, ovvero appena selezionata la Regione nel tag select della provincia mi vengono selezionate le provincie di appartenenza senza imputare il submit della form.

    Con ajax è possibile fare questo , ovvero integrare javascript e/o php-mysql?
    in finale i devo recuperare i dati da una tabella mysql e visualizzarli nella select della provincia con ajax ho questa possibilità?
    grazie
    ricmac

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    E' proprio ciò che si fa con AJAX
    In pratica CON JAVASCRIPT fai in modo che venga richiamato uno script php in "background" (invisibile all'utente) che restituirà delle informazioni che poi javascript usa per popolare la pagina (nel tuo caso la select)
    L'unico difetto è che se l'utente non ha javascript abilitato la tua pagina diventa inutile

    Per una guida su AJAX (che è un argomento troppo lungo da trattare qui) ti indico una guida, ma ti conviene fare ricerche e studiartelo bene, poichè si possono trovare in giro molte cose che "semplificano" il lavoro

    http://javascript.html.it/guide/leggi/95/guida-ajax/

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    10
    Grazie Leilond,
    mi metto subito a studiare...

    ricmac

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