ciclo do while

ci_provo

Nuovo Utente
12 Feb 2010
29
0
0
salve ragazzi sto avendo dei problemi con un ciclo while,
arrivo subito al dunque:
estraggo dei tati nel tatabase. con questa variabile: <?php echo $row_DetailRS1['Portata']; ?> .
poi ho "pensato" che per comodità di scelta da parte dell'utente di inserire una checkbox e ho inserito questo codice:<input type="checkbox" name="mycheck" id="mycheck" value=""/><label for="mycheck"></label>.
ora per far ripetere questa check per tutti i record estratti ho "pensato" di aggiungere un ciclo do while,
cosi il codice completo:
PHP:
<div id="portate">
          <table border="0" cellspacing="0" cellpadding="0">
            <tr>
              <?php do { ?>
                <td><?php echo $row_DetailRS1['Portata']; ?></td>
                <td><input type="checkbox" name="mycheck" id="mycheck"  value=""/>
                  <label for="mycheck"></label></td>
                <?php } while ($row_DetailRS1 = mysql_fetch_assoc($DetailRS1)); ?>
            </tr>
          </table>
        </div>
però le chek non le incrementa ne rimane sempre e solo una come mai?:confused:
 
il do while vuol dire che il codice indicato tra le parentesi graffe venga eseguito almeno una volta
il while è il codice da rieseguire fino a quando tale condizione rimane vera, perchè cosa erro?
 
Erri che, la prima volta, la variabile che dovrebbe contenere i dati della riga non è inizializzata, quindi PHP restituirà un errore "undefined variable". Se devi visualizzare una checkbox per ogni record, allora quello che ti serve è il ciclo while.
 
Ah, scusa. Beh, se ho capito bene quello che lo script deve fare, allora basti sapere che un form del genere:
HTML:
<form action="action.php" method="post">
    <input type="checkbox" name="portate[]" value="1" />
    <input type="checkbox" name="portate[]" value="2" />
    <input type="checkbox" name="portate[]" value="3" />
    <input type="checkbox" name="portate[]" value="4" />

    <input type="submit" value="Invia" />
</form>
La variabile $_POST['portate'] (selezionando tutte e quattro le check) sarà:
Codice:
array(4) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
  [3]=>
  string(1) "4"
}
 
ciao
no il ciclo è ok è come integrare la check...
io credo che abbia ragione alex (almeno una volta nel 2011)
quando entri nel do la prima volta la $row_DetailRS1['Portata'] non esiste quindi come minimo ti viene una check senza nome
 

Discussioni simili