Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    gestione della select(listbox)

    ciao a tutti,
    sono nuovo del forum e per il php.Sto cercando di capire come funziona il php facendo piccoli programmini aiutandomi girovagando per la rete e con i manulai che si trovano in rete.Mi sto arenando su una cosa che giudicavo semplice ma che mi sta dando problemi,perchè non riesco a capire come deve essere programmata e ciopè la gestione di una listbox.Spero di trovare un'anima pia che mi spieghi come fare e perchè.
    Vi posto qui sotto un programmino che potrebbe aiutarmi per capire,praticamente legge una tabella(regioni) e deve riempire una listbox(select),al clic su un elemento x la descrizione della regione deve essere portato sul campo desreg.Vorrei fare tutto questo in php senza java e o ajax o jq che non conosco.
    Codice PHP:
    <?php
         $myconn 
    mysql_connect('localhost''root''virgilio') or die('Errore...');
          
    mysql_select_db('dbphp'$myconn) or die('Errore...');
        
    // preparo la query
        
    $query "SELECT id_reg,nome_reg FROM regioni";
        
    // invio la query
        
    $result mysql_query($query);
        
    $num_righe=mysql_num_rows($result);
        
    // controllo l'esito
        
    if (!$result)
        {
            die(
    "Errore nella query $query: " mysql_error());
        }
        
    //echo "
    righe $num_righe";
        
    $ind=1; 
        while (
    $ind <= $num_righe)
        {
            
    $row=mysql_fetch_row($result);
            
    $nome = htmlentities($row[1]);
            
    $idreg = $row[0];
            echo "
      
    $idreg $nome ";
            
    $ind++;        
        }
        // libero la memoria di PHP occupata dai record estratti con la SELECT
        mysql_free_result(
    $result);
        // chiudo la connessione a MySQL
        mysql_close();


    ?>
    <form name="
    reg01" method="post" action="">



    <label> 
     descrizione
     <input name="
    desreg" type="text" </input> </label>
     <label> seleziona
    <select name="
    regioni" id="regioni"  >
    <option selected>..regioni..</option>
    <?php
        // 
    $myconn = mysql_connect('localhost', 'root', 'virgilio') or die('Errore...');
        //  mysql_select_db('dbphp', 
    $myconn) or die('Errore...');
        // preparo la query
        
    $query = "SELECT id_reg,nome_reg FROM regioni";
        
    $result = mysql_query($query);
        
    $num_righe=mysql_num_rows($result);
        if (!
    $result)
        {
            die("
    Errore nella query $query" . mysql_error());
        }
         
    $ind=1; 
        while (
    $ind <= $num_righe)
        {
            
    $row=mysql_fetch_row($result);
            
    $nome = htmlentities($row[1]);
            
    $idreg = $row[0];
       
            
    $ind++;        
        }
    ?>
    </select>

    </form>
    La lettura della tabella c'è due volte(fatta nello stesso modo) per provare che stavo leggendo tutto bene,ma non ho capito come mandare i campi nella select e manipolalri.
    Mi potete eventualmente indirizzare su una buona guida e/o un buon testo?
    Grazie

  2. #2
    ciao a tutti,
    ho risolto in parte il mio problema,e cioè riesco a popolare la listbox inserendo l'istruzione: echo"<option value =$ind>$nome $idreg</option> ";
    per cui la seconda parte del listato diventa:
    <?php
    // $myconn = mysql_connect('localhost', 'root', 'virgilio') or die('Errore...');
    // mysql_select_db('dbphp', $myconn) or die('Errore...');
    // preparo la query
    $query = "SELECT id_reg,nome_reg FROM regioni";
    $result = mysql_query($query);
    $num_righe=mysql_num_rows($result);
    if (!$result)
    {
    die("Errore nella query $query: " . mysql_error());
    }
    $ind=1;
    while ($ind <= $num_righe)
    {
    $row=mysql_fetch_row($result);
    $nome = htmlentities($row[1]);
    $idreg = $row[0];
    echo"<option value =$ind>$nome $idreg</option> ";
    $ind++;
    }
    ?>
    [/PHP]
    ora dovrei risolvere il problema che se seleziono l'elemento x, $nome deve essere spostato nel campo desreg
    ciao a tutti

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    37
    se non ho capito male quindi te hai per esempio una tabella con un tot di regioni e queste regioni devono diventare le scelte multiple del form listbox?

  4. #4
    ciao,
    mi rispiego, io ho una tabella mysql chaimata regioni, leggo la tabella e riempo la listbox regioni,ora se scelgo una regione(elemento x della listbox) vorrei portare il valore dell'elemento sul campo desreg e valorizzarlo subito. Debbo farlo per forza con javascript?
    Se si mi puoi indicare come?
    Grazie

  5. #5
    ciao,
    ho continuato a studiare e penso di essere arrivato ad un buon punto ma adesso veramente penso di essere bloccato,ho scopiazzato una funzione java e adattata e funziona, sotto vi posto tutto il programma, ma se adesso una volta cliccato ed il nome (chiave) c'è l'ho dentro desreg(ammettiamo che sia un campo chiave) mi dovrebbe partire la ricerca sul db e visualizzare le informazioni !!capito!! ecco non so almeno fino ad adesso come fare uscendo da una funzione java lanciare una funzione php che non sarà altro che la ricerca del record con quella chiave!!
    sotto è postato il programma funzionante:
    Codice PHP:
    <?php 
         $myconn 
    mysql_connect('localhost''root''virgilio') or die('Errore...');
           
    mysql_select_db('dbphp'$myconn) or die('Errore...'); 
      if (isset(
    $_POST['invia']))
    {
      
      
    // preparo la query 
        
    $query "SELECT id_reg,nome_reg FROM regioni"
        
    // invio la query 
        
    $result mysql_query($query); 
        
    $num_righe=mysql_num_rows($result); 
        
    // controllo l'esito 
        
    if (!$result
        { 
            die(
    "Errore nella query $query: " mysql_error()); 
        } 
        
    //echo "
    righe $num_righe"; 
        
    $ind=1;  
        while (
    $ind <= $num_righe
        { 
            
    $row=mysql_fetch_row($result); 
            
    $nome = htmlentities($row[1]); 
            
    $idreg = $row[0]
            
            
            
    $ind++;         
        } 
        // libero la memoria di PHP occupata dai record estratti con la SELECT 
        mysql_free_result(
    $result); 
        // chiudo la connessione a MySQL 
        mysql_close(); 

    }
    ?> 
    <form name="
    reg01" method="post" action=""> 


     
    <label>descrizione regione  
      
     <input name="
    desreg" type="text" </input> 
     
    </label> 
     <label> seleziona 
    <select name="
    regioni" id="regioni" onchange="forma_desreg()"> > 
    <option selected>..regioni..</option> 
    <?php
    $query = "SELECT id_reg,nome_reg FROM regioni";
    $result=mysql_query($query);
    $num_righe=mysql_num_rows($result);
    if (!result)
    {
    die("
    errore nella query $query" . mysql_error());
    }
    $ind=1;
    while (
    $ind <= $num_righe)
    {
    $row=mysql_fetch_row($result);
    $nome = htmlentities($row[1]);
    $idreg = $row[0];
      echo "
    <option value=\"" $row[1] . "\">" $row[1] . "</option>\n";
    //echo "<option value=\"" . $row[1] . "\">" . $row[1] . "</option>\n";
    $ind++;
    }
    ?>


    </select> 


    </label>
    </p>


    <label>nnnnnnnn

    <input name="nome" type="text" id="nome"/>
    </p>
    <input type="submit" value="invia" id="invia"/> 
    </form> 

        <script type="text/javascript">
     
     function forma_desreg()
     {
     
     var nome = document.getElementById('regioni').value;
     document.getElementById('desreg').value=nome;
      
    }

     </script>
    ciau

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.