Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343

    form con select e variabile

    Buongiorno a tutti .... chiedo una cosa stupida ma è due giorni che mi fa' impazzire....

    Allora ho un form che manda ad un'altra pagina l'inserimento dei dati al db mysql, ma vorrei cambiare il numero 1 2 3 4 con il nome delle citta e creare una variabile che mi trasformi ( es roma n1 milano n 2 ecc ecc ) vorrei che al posto di mettere 1 ( mettessi roma) ma che quando posto nel db vada il numero uno e non riesco a capire come devo fare ...

    Vi posto il form e loscript che passa i dati al db ...

    form

    Codice PHP:
    FORM INSERIMENTO RISTORANTI 
    <form id="form1" name="form1" method="post" action="ins-join.php">




    [
    B]qui mi serve la modificaper comodita al posto di selezionare il numerovorrei selezionare la cittàma nel db deve essere inserito il numero in base alla citta ... es roma deve corrispondere ad 1 ma se posto cosi ok io vedo 1 e posto unoinvece io vorrei vedere roma e postare 1 ...[/B


     <
    label for="id_citta">Citta</label>

                        <
    select name="id_citta" id="id_citta">
                        <
    option>Scegli</option>
                          <
    option>1</option>
                          <
    option>2</option>
                          <
    option>3</option>
                          <
    option>4</option>
                        </
    select>



     <
    label for="id_ristoranti">Ristoranti</label>

                        <
    select name="id_ristoranti" id="id_ristoranti">
                        <
    option>Scegli</option>
                          <
    option>1</option>
                          <
    option>2</option>
                          <
    option>3</option>
                          <
    option>4</option>
                        </
    select>



     
    URL
       


        
    <label for="url"></label>  
      <
    input type="text" name="url" id="url" />
      </
    p>
    Chiave
        


        
    <label for="chiave"></label>
          <
    textarea name="chiave" id="chiave" cols="55" rows="20"></textarea>
      </
    p>

      

      


    Descrizione
        


        
    <label for="descrizione"></label>
          <
    textarea name="descrizione" id="descrizione" cols="55" rows="20"></textarea>
      </
    p>

        
      


        <
    input type="submit" name="invio" id="invio" value="Submit" />
      </
    p>




    </
    form
    Script che passa i dati

    Codice PHP:
    <?php  
    require ("db_connect_join.php");  




    $id $_POST['id']; 
    $id_citta $_POST['id_citta'];
    $id_ristoranti $_POST['id_ristoranti'];
     

    $url $_POST['url']; 
    $via $_POST['via']; 
    $descrizione=$_POST["descrizione"];
    $descrizione=ereg_replace("\n","
    "
    ,$descrizione);  
    $chiave $_POST['chiave']; 

    if(
    get_magic_quotes_gpc()) { 

    $id_citta stripslashes($id_citta);
    $id_ristoranti =stripslashes($id_ristoranti);

    $url =stripslashes($url);
    $via =stripslashes($via);
       
    $descrizione =stripslashes($descrizione); 
       
    $chiave =stripslashes($chiave);
      
       } 
       
       
    $id_citta  mysql_real_escape_string($id_citta); 
        
    $id_ristoranti mysql_real_escape_string($id_ristoranti); 
      
        
    $url mysql_real_escape_string($url);
    $via mysql_real_escape_string($via); 
    $descrizione mysql_real_escape_string($descrizione); 
     
    $chiave mysql_real_escape_string($chiave); 




              
      
    $insert mysql_query("INSERT INTO ristoranti
            (id,id_citta,id_ristoranti,url,via,descrizione,chiave) 
            VALUES 
            ('','
    $id_citta','$id_ristoranti','$url', '$via', '$descrizione', '$chiave')"$db);


       
           
    ?>
    Spero che qualcuno possa iautarmi ....

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    vediamo se ho capito...tu vuoi visualizzare nella select i nomi e inviare alla pagina che fa l'inserimento sul db i numeri?

    In tal caso la cosa si risolve in html, metti nell'attributo value delle option il numero e tra i tag di apertura e chiusura il nome, in tal modo l'utente vede il nome ma alla pagina di inserimento arriva il numero.

    Altra cosa sempre inerente l'html, anzichè usare una option che potrebbe essere inviata dal form e che ti porterebbe a fare altri controlli puoi usare per la voce 'Scegli' <optgroup label='scegli'>

    Codice PHP:
    <select  name="id_citta" id="id_citta">
        <
    optgroup label='Scegli città'>
            <
    option value='1'>roma</option>
            ...
        </
    optgroup>
    </
    select

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    FANTASTICO .. FUNZIONAAAAAAA

    grazie mille pensavo che dovevo creare chissa che variabile, quando era di una semplicità estrema e in html ....

    Grazie di cuore ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    ok, in ogni caso se ti vuoi complicare la vita potresti costruire un array associativo, che associa alla chiave città il relativo numero.

    Codice PHP:
    elenco_citta = array("roma"=>"1""milano"=>"2"); 
    Quindi, una volta ottenuta la città contenuta in $_POST['citta'], per ottenere il numero ti basta fare:

    Codice PHP:
    citta_selezionata elenco_citta[$_POST['citta']]; 
    La cosa sarebbe veramente utile se volessi ad esempio anzichè scrivere a mano la select costruirla iterativamente con foreach.


    Codice PHP:
    <select  name="id_citta" id="id_citta">
        <optgroup label='Scegli città'>
            <?php
                  
    foreach($elenco_citta as $citta=>$numero){
                       echo 
    "<option value='$numero'>$citta</option>";
                  }
            
    ?>
        </optgroup>
    </select>

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.