Visualizzazione dei risultati da 1 a 10 su 10

Visualizzazione discussione

  1. #1

    Select dinamica con attributo checked in base a valore nel DB

    Ciao a tutti e scusate se riposto un problema simile ma sto impazzendo da giorni ormai e le sto provando tutte.
    Sto cercando realizzare una select che viene creata in base ad alcuni dati presi dal DB.
    La select si crea prendendo i dati dalla tabella anagrafica_aziendale (id_azienda, ragione_sociale) e vorrei rendere selezionata una certa voce in base al dato che si trova nel campo id_azienda_out della tabella carico_materiali (id_blocco, id_azienda_out) quindi se carico_materiali.id_azienda_out = anagrafica_aziendale.id_azienda creo l' attributo checked nella option.

    Codice PHP:
    /* eseguo la query per trovare id azienda e ragione sociale 
        nella tabella anagrafica_aziendale */
    $select_query "SELECT id_azienda, ragione_sociale FROM anagrafica_aziendale";
    $find_id "SELECT id_azienda_out 
                   FROM carico_materiali 
                   WHERE id_blocco ='"
    .$_SESSION['id_blocco']."'";

    $result mysql_query($select_query);
    $num mysql_num_rows($result);
    if (
    $num 0)
    {   
    //Inizializzo la variabile per l' attributo "selected"   
         
    $selected Null;           

         
    //Apro la SELECT   
         
    echo '<select name="lista_aziende">';           

         
    //Creo un ciclo FOR per creare le opzioni della SELECT   
         
    for($x=0$x<$num$x++)   
         {    
    /* trovo il valore da mettere nell' option e la relativa etichetta */      
              
    $row mysql_fetch_row($result);

               
    /* recupero l' id che si trova nella prima colonna
                   della tabella anagrafica_aziendale */
              
    $id_option $row[0];       
          
               
    /* recupero l' etichetta che si trova 
                   nella seconda colonna */
               
    $etichetta $row[1];
           
               
    //se sto aggiornando i dati      
               
    if ($_SESSION["carico_mode"] == "update")      
                 {     
    /* trovo il valore di id_azienda_out nella tabella 
                            carico_materiali per equipararlo a id_azienda
                            della tabella anagrafica_aziendale */     

                        
    $result_id mysql_query($find_id);     
                        
    $row_id mysql_fetch_array($result_id);                     

                         
    /* Ad ogni ciclo controllo se 
                             carico_materiali.id_azienda_out è = 
                             a anagrafica_aziendale.id_azienda
                             e nel caso creo l' attributo html "selected" 
                         */                      

                         
    if ($row_id["id_azienda_out"] == $row[0])     
                           { 
    $selected "selected"; }

        }            
       
    //creo il tag OPTION   
       
    echo "<option value=".$id_option." ".$selected.">".$etichetta."</option>";                      }   

       
    //chiudo la select          
       
    echo '</select>';        

    Ho fatto 10mila controlli, stampato a video l' impossibile...i valori arrivano tutti ma non capisco perchè l' output viene cosi:

    codice HTML:
    <select name="lista_aziende">
      <option value="1">Azienda 1 S.r.L</option>
      <option value="2" selected="">Azienda 2 S.r.L</option>
      <option value="3" selected="">Azienda 3 S.r.L S.n.C</option>           
      <option value="4" selected="">Azienda 4 S.r.L</option>         
      <option value="5" selected="">Azienda 5 S.r.L</option>
      <option value="6" selected="">Azienda 6 S.r.L</option>
      <option value="7" selected="">Azienda 7 S.n.C.</option>
    </select>
    Grazie


    P.s. : Lo stesso script l' ho usato per creare un' altra select praticamente uguale, cambiano solo le stringhe SQL e la tabella dove prendo l' id di riferimento per creare l' attributo checked e funziona. Bah!
    Ultima modifica di camionistaxcaso; 02-04-2014 a 21:43

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.