Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di erialo
    Registrato dal
    Mar 2011
    Messaggi
    21

    salvare valori delle select multiple

    Ciao ragazzi
    ho un form con due select in cascate per la selezione di province e comuni.
    Visulizzo ovviamente il nome delle province e/o comuni ma mi serve memorizzare in variabile l'ID della provincia/comune ma non so come si fa...
    Questo è il codice php che utilizzo per popolare le select

    <?php

    class SelectList
    {

    protected $conn;

    public function __construct()
    {
    $this->DbConnect();
    }

    protected function DbConnect()
    {
    include "config.inc.php";
    //include("accesso_dati.inc.php");

    $this->conn = mysql_connect($dbhost,$dbuser,$dbpass) OR die("Impossibile connettersi al database");
    mysql_select_db($dbname,$this->conn) OR die("Impossibile selezionare il database $db");

    return TRUE;
    }

    public function ShowProvince()
    {
    $sql = "SELECT * FROM province order by provincia";
    $res = mysql_query($sql,$this->conn);
    $provincia = '<option value="0">scegli...</option>';

    while($row = mysql_fetch_array($res))
    {
    $provincia .= '<option value="' . $row['ID'] . '">' . utf8_encode($row['PROVINCIA']) . '</option>';
    }

    return $provincia;
    }

    public function ShowComuni()
    {
    $sql = "SELECT * FROM comuni WHERE provincia=$_POST[ID]";
    $res = mysql_query($sql,$this->conn);
    $comune = '<option value="0">scegli...</option>';

    while($row = mysql_fetch_array($res))
    {
    $comune .= '<option value="' . $row['ID'] . '">' . utf8_encode($row['COMUNE']) . '</option>';
    }

    return $comune;
    }


    }

    ?>

    ...e questo quello per visualizzare le select...
    <fieldset>
    <label>Provincia</label> <select id="provincia" value="<?php echo $provincia;?>"> <?php echo $opt->ShowRegioni(); ?></select>
    <label>Comune</label> <select id="comune" value="<?php echo $comune;?>"> <option>Scegli...</option></select>
    </fieldset>

    Come memorizzo in $provincia e $comune rispettivamente l'id della provincia e del comune selezionati?

    Ciao e grazie in anticipo!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    memorizzare dove? in cookie/sessione? solo per te... o altro?

  3. #3
    Utente di HTML.it L'avatar di erialo
    Registrato dal
    Mar 2011
    Messaggi
    21
    Quote Originariamente inviata da zacca94 Visualizza il messaggio
    memorizzare dove? in cookie/sessione? solo per te... o altro?
    In sessione...
    se utilizzo
    $comune = isset($_GET["id"]) ? $_GET["id"] : '';
    $provincia = isset($_GET["id"]) ? $_GET["id"] : '';

    $comune e $provincia rimangono null!

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    In questo modo non stai mettendo niente in sessione, stai mettendo i valori in 2 normali variabili che esistono solo all'interno dello script, finita l'esecuzione dello script non esistono più.

    Codice PHP:
    session_start(); // va messo all'inizio dello script

    $_SESSION['comune'] = isset($_GET["id"]) ? $_GET["id"] : ''
    Così si mette un valore in sessione.

  5. #5
    Utente di HTML.it L'avatar di erialo
    Registrato dal
    Mar 2011
    Messaggi
    21

    salvare valori delle select multiple

    Sbaglio da qualche altra parte perchè le variabili comune e provincia mirimangono null e non con il valore ID...
    Ma cosa???

    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    In questo modo non stai mettendo niente in sessione, stai mettendo i valori in 2 normali variabili che esistono solo all'interno dello script, finita l'esecuzione dello script non esistono più.

    Codice PHP:
    session_start(); // va messo all'inizio dello script

    $_SESSION['comune'] = isset($_GET["id"]) ? $_GET["id"] : ''
    Così si mette un valore in sessione.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Sicuro che tramite get arrivino quelle variabili?
    metti
    print_r($_GET);

    cosa stampa?

  7. #7
    Utente di HTML.it L'avatar di erialo
    Registrato dal
    Mar 2011
    Messaggi
    21

    salvare valori delle select multiple

    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Sicuro che tramite get arrivino quelle variabili?
    metti
    print_r($_GET);

    cosa stampa?
    ...infatti non stampa nulla
    Per popolare la select delle province utilizzo la funzione

    public function ShowProvince()
    {
    $sql = "SELECT * FROM province order by provincia";
    $res = mysql_query($sql,$this->conn);
    $province = '<option value="0">scegli...</option>';

    while($row = mysql_fetch_array($res))
    {
    $province .= '<option value="' . $row['ID'] . '">' . utf8_encode($row['PROVINCIA']) . '</option>';
    }

    return $province;
    }


    se verifico con firebug il valore della select è sempre vuoto
    <select id="province" value="">

    come dovrei passare l'id alla select?

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Io nel tuo codice non vedo il tag di paretura <select> né quello di chiusura </select>

    Questo
    <select id="province" value="">
    non ha senso, perché per il tag <select> non è previsto alcun attributo "value", il value è solo per i tag <option>

    Visualizza il codice della pagina su cui appare il form e controlla che il codice html generato sia corretto.

  9. #9
    Utente di HTML.it L'avatar di erialo
    Registrato dal
    Mar 2011
    Messaggi
    21
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Io nel tuo codice non vedo il tag di paretura <select> né quello di chiusura </select>

    Questo
    <select id="province" value="">
    non ha senso, perché per il tag <select> non è previsto alcun attributo "value", il value è solo per i tag <option>

    Visualizza il codice della pagina su cui appare il form e controlla che il codice html generato sia corretto.
    Per favore aiutatemi sono in diffcoltà ed alle primissime armi con il php.
    Nel mio form popolo le select di provincia e comune tramite il seguente codice:
    codice:
    /*select.class.php*/
    <?php
    
    class SelectList
    {
        protected $conn;
            public function __construct()
            {
                $this->DbConnect();
            }
        
            protected function DbConnect()
            {
                include "config.inc.php";
    
                $this->conn = mysql_connect($dbhost,$dbuser,$dbpass) OR die("Impossibile connettersi al database");
                mysql_select_db($dbname,$this->conn) OR die("Impossibile selezionare il database $db");
                
                return TRUE;
            }
            
            public function ShowProvince()
            {
                $sql = "SELECT * FROM province order by provincia";
                $res = mysql_query($sql,$this->conn);
                $province = '<option value="0">scegli...</option>';
                
                    while($row = mysql_fetch_array($res))
                    {
                         $province .= '<option value="' . $row['ID'] .  '">' . utf8_encode($row['PROVINCIA']) . '</option>';
                    }
                return $province;
            }
            
            public function ShowComuni()
            {
                $sql = "SELECT * FROM comuni WHERE provincia=$_POST[ID]";
                $res = mysql_query($sql,$this->conn);
                $comuni = '<option value="0">scegli...</option>';
                
                    while($row = mysql_fetch_array($res))
                    {
                        $comuni .= '<option value="' . $row['ID'] . '">' . utf8_encode($row['COMUNE']) . '</option>';
                    }
                return $comuni;
            }
    }
    
    ?>
    
    /*select.php*/
    <?php
    
    include_once 'select.class.php';
    $opt = new SelectList();
    
    if(isset($_POST['ID']))
    {
        echo $opt->ShowComuni();
        die;
    }
    
    ?>
    Poi nel mio form ho oltre ad altre input box le due selectbox di provincia e comune che dopo averele selezionate mi serve dalvarle nel db.
    Passo i valori imputati ad un altro file registra_tesserato.php che verificherà la validità dei dati e li salvareà nel db.
    codice:
    ....
    <?php
    include_once 'select.class.php';
    $opt = new SelectList();
    ?>
    ....
    <form  id="form1" name="form1" method="post" action="registra_tesserato.php">
    ...
     <?php
    $rep = isset($_GET["rep"]) ? $_GET["rep"] : '';
    $errore="";
        if($rep==2) {
            $errore="Formato Email non valido!";
            $returnStyleError2 = "border-color: red;"; //background-color: green;
        }
        else if($rep==1) {
            $errore="Il Campo Nome deve contenere almeno di 3 caratteri";
            $returnStyleError1 = "border-color: red;";
        }
        else if($rep==3) {
            $errore="Il Campo Cognome deve contenere almeno di 3 caratteri";
            $returnStyleError3 = "border-color: red;";
        }
    
    $mail = isset($_GET["mail"]) ? $_GET["mail"] : '';
    $nome = isset($_GET["nome"]) ? $_GET["nome"] : '';
    $cognome = isset($_GET["cognome"]) ? $_GET["cognome"] : '';
    $comune = isset($_GET["comune"]) ? $_GET["comune"] : '';
    $provincia = isset($_GET["provincia"]) ? $_GET["provincia"] : '';
    ?>
    ....
    <fieldset>
         <label>Il/La sottoscritto/a <input name="nome" type="text"  placeholder="Nome" id="nome" maxlength="20" style="<?php echo  $returnStyleError1; ?>" value="<?php echo $nome;?>">
        </label>
        <label>&nbsp;
         <input type="text" placeholder="Cognome" name="cognome"  id="cognome" maxlength="20" style="<?php echo $returnStyleError3;  ?>" value="<?php echo $cognome;?>" />
        </label>
    </fieldset>
            
    <fieldset>
        <label>Provincia 
        <select id="regioni"> <?php echo $opt->ShowRegioni(); ?></select>
        </label>
            
        <label>Comune
        <select id="province">    <option>Scegli...</option></select>
        </label> 
        ...
        ...
    </fieldset>
    Come faccio a passare l'id della provincia e del comune selezionati alle varibili $provincia e $comune???
    A voi sembrerà una domanda stupida ma non so come fare...
    aiuto per favore!

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.