Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    select html da tabella del DB

    Ciao!
    Ho appena creato un metodo che, passandogli un' array, crea una select html.
    La cosa strana è che il sorgente me lo da perfetto:
    codice HTML:
    <select class="myclass" name="select_name"> 
    <option value='1'>sede legale<\option> 
    <option value='2'>punto vendita<\option>
    </select>
    Mentre il risultato lo potete vedere nell' immagine allegata.
    Questo il codice del metodo:
    Codice PHP:
    public function f_get_select($w$name$class$arr)  
    {       
       
    //Creo un' array contenente vari gruppi di input e le loro caratteristiche     
       
    $attributes_list = array( 
                                        
    "select1"      => array("name" => $name
                                                                        
    "class"=> $class)                               
                                         
    //Poi ne creo altri                                                                           
                                       
    );                
          
    $a "<select class=\"".$attributes_list[$w]["class"]."\" name=\"".$attributes_list[$w]["name"]."\"> \n";          

    //Creo le osptions
    foreach($arr as $key => $value)          

        for(
    $i=0$i<count($key); $i++)          
        {                               
            
    $a .= "<option value='".$value[0]."'>" .$value[1]. "<\option>\n";                          
        }           
    }                    
    $a .= "</select> \n";          
    return 
    $a;                  

    Qualcuno sa dirmi perchè?
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Ma lo fai apposta ?

    Metti \ mentre ci vuole /
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    ops...scusa è l' esaurimento nervoso.
    Funziona ma mi da questo warning:
    Warning: Invalid argument supplied for foreach() in C:\Program Files\xampp\htdocs\new_bs_site\class\c_html_form.p hp on line 67
    ovviamente la riga è dove creo il foreach...

  4. #4
    Contrordine funziona tutto...grazie

  5. #5
    Non sto a riaprire un thread...il mio metodo funziona, inizialmente lo avevo pensato solo per costruire una select html, quindi selezionando solo 2 colonne del db, adesso vorrei che mi generasse ' "array variabile" in base all' sql indicato. Questo è il metodo che che ritorna l' array da passare al metodo che genera la select html:
    Codice PHP:
    public function f_options_date($sql)      
          {         
             
    //Risultato della query         
            
    $result mysqli_query($this->_link$sql);        
            
    //Creo array con nomi colonne         
            
    $get_column $result->fetch_fields();        
            foreach (
    $get_column as $column)         
           {           
              
    $columns[] = $column->name;          
           }        
           while(
    $row mysqli_fetch_array($resultMYSQL_ASSOC))        
           {                   
                 
    //Per quante colonne ha trovato              
                
    for($i=0$i<count($columns); $i++)              
                {                
                   
    $var[] =  $row[$columns[$i]];                              
                }               
                
    //Se decommento la stringa sotto e levo il for funziona              
                //ma gli passo manualmente le colonne del db              
                //$var[] = array($row[$columns[0]], $row[$columns[1]]);                     
            
    }        
        return 
    $var;     
       } 
    Non riesco a creare in modo variabile $var.
    Mi da questo errore:
    Notice: Uninitialized string offset: 1 in C:\Program Files\xampp\htdocs\new_bs_site\class\c_html_form.p hp on line 71
    Grazie dell' aiuto.
    Ultima modifica di camionistaxcaso; 13-01-2016 a 14:18

  6. #6
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    devi inizializzare la variabile $var prima

    Codice PHP:
    public function f_options_date($sql)      
          {         
            
    $var = array();
            
    //Risultato della query    
            
    $result mysqli_query($this->_link$sql);        
            
    //Creo array con nomi colonne         
            
    $get_column $result->fetch_fields();        
            foreach (
    $get_column as $column)         
           {           
              
    $columns[] = $column->name;          
           }        
           while(
    $row mysqli_fetch_array($resultMYSQL_ASSOC))        
           {                   
                 
    //Per quante colonne ha trovato              
                
    for($i=0$i<count($columns); $i++)              
                {                
                   
    $var[] =  $row[$columns[$i]];                              
                }               
                
    //Se decommento la stringa sotto e levo il for funziona              
                //ma gli passo manualmente le colonne del db              
                //$var[] = array($row[$columns[0]], $row[$columns[1]]);                     
            
    }        
        return 
    $var;     
       } 
    eXvision

  7. #7
    Non va lo stesso, non è un problema di inizializzazione, sbaglio proprio qualcosa perchè non esce fuori l' array come dovrebbe

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da camionistaxcaso Visualizza il messaggio
    Non va lo stesso, non è un problema di inizializzazione, sbaglio proprio qualcosa perchè non esce fuori l' array come dovrebbe
    E' un problema di inizializzazione. Devi aggiungere la riga proposta da brodik. Qual'é la riga che dà il notice ?

    Il bravo informatico inizializza sempre le variabili.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    è una riga del metodo f_get_select() che crea le option, quello postato all' inizio, ecco la riga:
    Codice PHP:
    $a .= "<option value='".$value[0]."'>" .$value[1]. "</option>\n"
    Anche quella poi dovrò renderla variabile

    [edit] ho aggiunto l' inizializzazione della variabile ma non funge lo stesso

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Uno dei problemi di quei che postano qua è che pensano sempre che c'è un solo errore.

    Comunque sono perso. Mi parli di f_get_select ma mostri l'errore con f_options_date. Mi arrendo. Non posso perdere tempo a cercare un errore in un posto quando sta in un altro.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.