FOREACH o FOR

z.cristiano

Utente Attivo
16 Giu 2007
145
0
16
Salve a tutti...
Perdonatemi la mia ignoranza :-(

Allora, nel form ci sono due CHECKBOX chiamati

<input type="checkbox" name="primo[]" value="giorno">
<input type="checkbox" name="secondo[]" value="24-03-2010">

E la query ho messo così

foreach($primo as $t, $secondo as $ts,)
{

echo $t ." - ". $ts ."";

}

Non funziona, ho provato anche questo

for($x = 0; $x <= count($primo); $x++)
{

echo $primo[$x] ." - ". $secondo[$x] ."";

}

Niente da fare...
Perchè?
 
Ciao,
non funziona perchè se il nome delle box è univoco non crea un array nel passaggio dei dati.
Messa così, se per esempio li passi con un post, devi fare:

Codice:
echo $_POST['primo'] ." - ". $_POST['secondo'] ."";

Se invece vuoi avere un array devi mettere:
Codice:
<input type="checkbox" id="primo" name="check[]" value="giorno">
<input type="checkbox" id="secondo" name="check[]" value="24-03-2010">

e poi richiamarle con:
Codice:
$checkArr=$_POST['check'];
foreach($checkArr as $check) echo $check ." - ";

Nell'html se metti anche l'ID, parlando in generale, riesci a referenziare gli oggetti più correttamente.
 
Ho provato, va bene, però nell'HTML ho provato a mettere così

<form method="post" action="{$_SERVER['PHP_SELF']}?go=1">

<input type="checkbox" name="primo[]" value="giorno1" >1<br>
<input type="checkbox" name="primo[]" value="giorno2" >2<br>
<input type="checkbox" name="primo[]" value="giorno3" >3<br>
<input type="checkbox" name="primo[]" value="giorno4" >4<br><br>

<input type="checkbox" name="secondo[]" value="secondo1">1<br>
<input type="checkbox" name="secondo[]" value="secondo2">2<br>
<input type="checkbox" name="secondo[]" value="secondo3">3<br>
<input type="checkbox" name="secondo[]" value="secondo4">4<br>
<input type="submit" value="vai">

</form>

Come devo scrivere la query? Perchè mi serve per registrare nel DB...
Grazie mille

:-(
 
mmm non è molto chiara come spiegazione. Se ho capito bene devi fare una query che scrive nel db ogni coppia di valori $primo-$secondo giusto?
Se è così prova a fare:
Codice:
$primo=$_POST['primo'];
$secondo=$_POST['secondo'];

for($i=0;$i<sizeof($primo);$i++)
        mysql_query("INSERT INTO tabella(campi) VALUES(valori)");

Se la tabella ha tutti i campi settati per avere un valore di default la query puoi farla come:
Codice:
"INSERT INTO tabella(campo) VALUES('".$primo." - ".$secondo."')"

In caso contratio devi specificarli tutti con i relativi valori.
Se invece è solo un update di dati già inseriti:
Codice:
"UPDATE tabella SET campo='".$primo." - ".$secondo."' WHERE condizione"

Se ancora non risolvi il problema perova a spiegare un po più precisamente cosa devi fare, magari con una descrizione della tabella e dei dati da inserire.
 

Discussioni simili

L
Risposte
0
Visite
981
PHP
leonte54
L