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

    [php] creare array dentro un array ma con un while!

    Difficile a dirsi...
    Io devo creare un array cosi:

    $array = array(

    'nome' => array('tipo'=>'uno', tabella=>'due'),
    'cognome' => array('tipo'=>'uno', tabella=>'due'),

    );

    e fin qua ok...

    Il problema è che nome e cognome (con tutti le loro proprietà) sono presi da un db!!!..

    ecco qui lo script che funziona per metà:

    codice:
    while($array_campi = mysql_fetch_array($res_campi)){
    $config = Array(
    		'prova' => Array(
    		'type'           => $array_campi['tipo'],
    		'displayname'    => $array_campi['titolo'],
    		'values'         => Array( 
    				0 => 'no',
    				1 => 'yes',
    				2 => 'maybe',
    				),
    		),
    );
    }
    funziona per metà perche il $config = array(.... lo valorizzo ad ogni ciclo e non solo all'inizio...

    cioè il giro giusto sarebbe questo

    dichiaro config
    -- while
    -- dichiaro altri array
    -- chiudo while
    chiudo config

    ditemi che non è impossibile please!!!

  2. #2
    Potresti provare ad usare il comando eval(var);

    eval ti permette di eseguire come comando php, il contenuto della stringa che gli dai in input.
    Praticamente var è una stringa che contiene un comando php.
    e con eval tale comando viene eseguito.
    Nel tuo caso dovresi fare che $config sia una stringa che viene fuori dal ciclo inizializzata con

    $comando = "$config = Array(";

    mentre nel ciclo while ti finisci la stringa

    while (...)
    {
    $comando .= "....";
    }

    e poi termini con
    $comando .= ");
    eval($comando);

    In realtà io non l'ho mai usato tale comando quindi non so se ho scritto cose sbagliate.
    Fai delle prove. Poi postami il codice esatto, potrebbe anke a me tornare utile.

    Ciao.

  3. #3

    Re: [php] creare array dentro un array ma con un while!

    Originariamente inviato da albertogianotti
    ditemi che non è impossibile please!!!

    sicuramente è possibile... devi solo spiegarti meglio...
    www.gext.it

  4. #4
    infatti avevo pensato anche io all'eval....

    pero non avevo pensato a creare una variabile epoi farla parsare da eval...

    stupidamte tentavo questa sintassi (sarà che dopoi 10 ore davanti al pc ero a pezzi):

    eval(pezzo di comando);

    while{
    eval(altro pezzo)
    }

    eval (chiusura)....

    ora provo cosi grazie.


    sicuramente è possibile... devi solo spiegarti meglio...
    Dove mi sono spiegato male?

    Ciao grazie!

  5. #5
    non basta fare cosi

    Codice PHP:
    $config = array();
    while(
    $array_campi mysql_fetch_array($res_campi)){
      
    $config[] = Array(
        
    'type' => $array_campi['tipo'],
        
    'displayname' => $array_campi['titolo'],
        
    'values' => Array( 
          
    => 'no',
          
    => 'yes',
          
    => 'maybe',
        ),
      );


    lascia stare eval per Dio VVoVe: VVoVe: VVoVe:
    www.gext.it

  6. #6
    Ho risolto in altra maniera... cmq non è cosi che deve funzionare....


    Il risultato dovrebbe essere una cposa simile: e con il tuo script non faccio questa cosa:

    Codice PHP:

    <?
    $config 
    = Array(

        
    'tipologia' => Array(

            
    'type'           => 'inputRadio',
            
    'displayname'    => 'Tipologia',
            
    'html'=> '  ',
            
    'values'=> Array(
                
    7=> 'Ad anello / macro',
                
    6=> 'A torcia',
                
    5=> 'Compatto',
                
    8=> 'Subacqueo',
                ),
            ),

        
    'numero_guida' => Array(

            
    'type'           => 'inputText',
            
    'displayname'    => 'Numero guida',
            
    'html'=> '  maxlength="20" size="20" onkeypress="return numeralsOnly(this);" ',
            
    'values'=> Array(
                ),
            ),
    );
    ?>

    oppure cosi...

    Codice PHP:
    <?
    $config 
    = Array(

        
    'tipologia' => Array(

            
    'type'           => 'inputRadio',
            
    'displayname'    => 'Tipologia',
            
    'html'=> '  ',
            
    'values'=> Array(
                
    7=> 'Ad anello / macro',
                
    6=> 'A torcia',
                
    5=> 'Compatto',
                
    8=> 'Subacqueo',
                ),
            ),

        
    'numero_guida' => Array(

            
    'type'           => 'inputText',
            
    'displayname'    => 'Numero guida',
            
    'html'=> '  maxlength="20" size="20" onkeypress="return numeralsOnly(this);" ',
            
    'values'=> Array(
                ),
            ),

        
    'prova' => Array(

            
    'type'           => 'inputRadio',
            
    'displayname'    => 'prova',
            
    'html'=> '  ',
            
    'values'=> Array(
                
    9=> '1',
                
    10=> '2',
                
    11=> '3',
                
    12=> '4',
                
    13=> '5',
                
    14=> '6',
                ),
            ),
    );
    ?>
    Cmq ho risolto facendo creare al mio script un file php che includo....
    Ciao Grazie!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Ma scusa, la soluzione di tarini non è più semplice?!?!?!?
    Codice PHP:
    $config = array();
    while(
    $array_campi mysql_fetch_array($res_campi)){
      
    $config[] = Array(
        
    'type' => $array_campi['tipo'],
        
    'displayname' => $array_campi['titolo'],
        
    'values' => Array(
          
    => 'no',
          
    => 'yes',
          
    => 'maybe',
        ),
      );

    E soprattutto più facile da manutenere?

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.