Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Select dinamica

  1. #1

    Select dinamica

    Salve ho una select a cui aggiungo l'attributo selected in base a una query del db ho però un problema , se scrivo tutto il codice così :
    codice:
    <select name="nummax"  onblur="check_num()" >
            
                  <option value="1" <?php if($res['nummaxospiti']==3) echo 'selected'?>>3</option>
                  <option value="2" <?php if($res['nummaxospiti']==4) echo 'selected'?>>4</option>
                  <option value="3" <?php if($res['nummaxospiti']==5) echo 'selected'?>>5</option>
                  <option value="4" <?php if($res['nummaxospiti']==6) echo 'selected'?>>6</option>
                  <option value="5" <?php if($res['nummaxospiti']==7) echo 'selected'?>>7</option>
                  <option value="6" <?php if($res['nummaxospiti']==8) echo 'selected'?>>8</option>
                  <option value="7" <?php if($res['nummaxospiti']==9) echo 'selected'?>>9</option>
                  <option value="8" <?php if($res['nummaxospiti']==10) echo 'selected'?>>10</option>
                  <option value="9" <?php if($res['nummaxospiti']==11) echo 'selected'?>>11</option>
                  <option value="10" <?php if($res['nummaxospiti']==12) echo 'selected'?>>12</option>
                  
                                
                </select>
    Funziona ...

    Se lo scrivo con un ciclo non funziona
    codice:
    <select name="nummax"  onblur="check_num()" >
                  <?php for ($i=3; $i <=20 ; $i++) { 
                      $opt =  '<option value="'.$i;
                    if ($res['nummaxospiti']==$i) {
                        $opt.='" selected'        ;     
                      } 
                      $opt.= '">'.$i.'</option> ';
    
    
                      echo $opt;
                  }?>
    C'è un motivo ?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova a guardare il codice html generato dallo script e confrontalo.
    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
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Già una cosa. Nel primo codice il primo "value" è 1 mentre con il secondo è 3.
    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

  4. #4
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Già una cosa. Nel primo codice il primo "value" è 1 mentre con il secondo è 3.
    Grazie ho corretto ma non è quello , il codice è lo stesso , la differenza sta che nel sorgente della pagina facendolo con il ciclo for non vado a capo....

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Se i sorgenti sono identici allora non hai nessun problema. Quindi se hai un problema ci sarà una differenza.

    Nel secondo codice non si vede </select>
    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

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Fossi in te scriverei cosi.

    Codice PHP:
    <select name="nummax"  onblur="check_num()" ><?php
     
    for ($i=3$i <=20 $i++) {
      
    $j        $i-2;
      
    $selected $res['nummaxospiti']==$i "selected" "";?>
      <option value="<?php print $j?><?php print $selected?>><?php print $i?></option><?php
     
    }?>
    </select>
    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

  7. #7
    Avevo incasinato le doppie virgolette eccoil codice corretto :

    codice:
    <?php 
                        for($i=1;$i<=20 ;$i++){
                            $opt='<option value="'.$i.'"';
                            if($res['numaxospiti']==$i) {
                                $opt.='selected';
                            } 
                        $opt.=' >'.$i.'</option>';
                        echo $opt;
                        }
                        
    
    
                     ?>

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.