Ragazzi ho un problema:
ho un ciclo for dove dentro c'è una condizione if con un "continue;" dove se è soddisfatta va avanti altrimenti salta il passaggio.. però niente.
ciclo for
condizione if --- continue
inserimento database
Ragazzi ho un problema:
ho un ciclo for dove dentro c'è una condizione if con un "continue;" dove se è soddisfatta va avanti altrimenti salta il passaggio.. però niente.
ciclo for
condizione if --- continue
inserimento database
eh??Originariamente inviato da funnylux
Ragazzi ho un problema:
ho un ciclo for dove dentro c'è una condizione if con un "continue;" dove se è soddisfatta va avanti altrimenti salta il passaggio.. però niente.
ciclo for
condizione if --- continue
inserimento database![]()
e quindi?!![]()
Questa e' la mia firma! Lo so, e' una mezza schifezza.![]()
Un sito
- skype non è per consulenze online -
Posta un pò di codice
Roberto Dungino
oK si hai ragione.. entro più nello specifico.. allora ho un form che crea vari record tramite un ciclo for ecc.. ogni form ha un campo di selezione SI - NO.. all'inserimento vorrei che quelli con il SI passassero e quelli con il no ovviamente NO.
Invece accade che dove trova il record con il NO si ferma e basta.
sto usando questo (mostro un pezzo di codice):
Codice PHP:
for($i = 1; $i <= $size; $i++){
//Prelevo i dati del record
$camp1 = $my_array[$start];
$camp2 = $my_array[$start + 1];
$camp3 = $my_array[$start + 2];
$camp4 = $my_array[$start + 3];
$camp5 = $my_array[$start + 4];
$camp6 = $my_array[$start + 5];
//questa è la condizione che dovrebbe FARE QUELLO CHE VOGLIO :(
if ( $camp6 == "NO") {
continue;
}
$query = mysql_query("INSERT INTO $nome_tab
(
$var_condizione,
guest_nome,
guest_messaggio,
guest_citta,
guest_mail
)VALUES(
'$camp1',
'$camp2',
'$camp3',
'$camp4',
'$camp5'
)")
or die("Query non valida: " . mysql_error());
//Passo al prossimo record
$start = $start + $no_field;
}
Il codice è giusto, controlla se entra nel ciclo "if".
adesso l'ho fatto rientrare ma non mette neanche un record :SCodice PHP:
for($i = 1; $i <= $size; $i++){
//Prelevo i dati del record
$camp1 = $my_array[$start];
$camp2 = $my_array[$start + 1];
$camp3 = $my_array[$start + 2];
$camp4 = $my_array[$start + 3];
$camp5 = $my_array[$start + 4];
$camp6 = $my_array[$start + 5];
if ( $camp6 == "NO") {
continue;
$query = mysql_query("INSERT INTO $nome_tab
(
$var_condizione,
guest_nome,
guest_messaggio,
guest_citta,
guest_mail
)VALUES(
'$camp1',
'$camp2',
'$camp3',
'$camp4',
'$camp5'
)")
or die("Query non valida: " . mysql_error());
//Passo al prossimo record
}
$start = $start + $no_field;
}
Ora il codice è sbagliato. Se metti continue non ha senso che poi esegui altre linee di codice, perchè non verranno mai eseguite.Originariamente inviato da funnylux
adesso l'ho fatto rientrare ma non mette neanche un record :S
ok tornato come prima.. quindi dove sta l'inghippo?.. cioè la funzione di continue è quella di saltare in caso di condizione una riga e passare all'altra? giusto?
(scusa ma da poco utilizzo php.. vengo da asp)![]()
Il codice è giusto, ripeto: controlla se entra nell'if del $camp6. Che tipo di campo è $camp6?Originariamente inviato da funnylux
ok tornato come prima.. quindi dove sta l'inghippo?.. cioè la funzione di continue è quella di saltare in caso di condizione una riga e passare all'altra? giusto?
(scusa ma da poco utilizzo php.. vengo da asp)![]()
allora... i break, continue, e via dicendo sono veramente brutti da usare! Sono degli specie di surrogati della programmazione sequenziale che per fortuna si è estinta. Perciò se vogliamo formalizzare bene questa situazione innanzitutto trasforma il
for...
fai questo
se la variabile è no salta
...
fine for
in:
for
se è Si
fai questo
fine for