Ciao a tutti innanzitutto mi presento: sono mirko ho 21 anni e come molti di voi sono un appassionato di programmazione,sono di avellino e (attualmente) vivo a Trento.
Detto questo vi espongo il mio problema: praticamente il progetto a cui sto lavorando prevede una pagina dinamica che legga e scriva dal database tutti gli utenti appartenenti a un determinato gruppo.
Una volta scritti questi utenti tramite mysql_fetch_assoc in un ciclo while associo a ognuno di essi quattro checkbox (pranzo,cena,colazione,servizio) che all'invio dei dati andranno a inviare il valore assegnato.
Il problema sta che quando seleziono ad esempio Pranzo come prima flag,nelle righe successive se non seleziono pranzo ma seleziono solo CENA non mi va aggiungere quest'ultimi.
Praticamente assume solo i valori che prende dalla prima checkbox flaggata in poi:
ES: la prima riga flaggo il campo pranzo: da li in poi andrà a prendere tutte le righe in cui ho flaggato pranzo e stessa cosa se flaggo per primo solo la cena o la colazione.. ;
Vi allego la parte in cui invio i dati:
codice:
while($array=mysql_fetch_assoc($query))
{
$id=$array['id'];
$nome=$array['nome'];
$cognome=$array['cognome'];
echo "
<tr>
<td >[*] ".$nome." <u>".$cognome. " </u> </td>
<td align='center'><input type='checkbox' name='chpranzo[$id]' value='SI' checked='checked'></td>
<td align='center'><input type='checkbox' name='chcena[$id]' value='SI'></td>
<td align='center'><input type='checkbox' name='chcolazione[$id]' value='SI'> </td>
<td align='center'><input type='checkbox' name='chservizio[$id]' value='SI'></td></tr>";
}
?>
e lo script che riceve i dati e invia al db:
codice:
<?php
error_reporting(0);
include "php/config.php";
include "php/connect.php";
session_start();
$indice;
$btr=$_SESSION['btr'];
$data=$_POST['data'];
$chcena=$_POST['chcena'];
$chservizio=$_POST['chservizio'];
$controllo= mysql_query("SELECT * FROM prenotazioni WHERE (data='$data') && (btr='$btr')");
$num= mysql_num_rows($controllo);
if ($num>0)
{
echo "_____________________________________________________
";
echo "Esito:Registrazione non effettuata poiche' gia' esistente
all'interno del DB.
";
echo "_____________________________________________________
";
}
if ($num==0)
{
$chcolazione=$_POST['chcolazione'];
if (isset($_POST['chpranzo']))
{
$indice=$_POST['chpranzo'];
}
else
{
if (isset($_POST['chcena']))
{
$indice=$_POST['chcena'];
}
else
{
if (isset($_POST['chcolazione']))
{
$indice=$_POST['chcolazione'];
}
}
}
foreach($indice as $order_id => $value)
{
$select=mysql_fetch_array(mysql_query("SELECT * FROM personale WHERE id='$order_id'"));
$cognome=addslashes($select['cognome']);
$nome=addslashes($select['nome']);
$user_level=$select['user_level'];
$id=$select['id'];
$cena=$_POST['chcena'][$order_id];
$colazione=$_POST['chcolazione'][$order_id];
$pranzo=$_POST['chpranzo'][$order_id];
$servizio=$_POST['chservizio'][$order_id];
$set_pranzo="NO";
$set_cena="NO";
$set_colazione="NO";
$set_servizio="NO";
if(isset($pranzo)){
$set_pranzo="SI";
}else{
$set_pranzo="NO";
}
if(isset($cena)){
$set_cena="SI";
}else{
$set_cena="NO";
}
if(isset($colazione)){
$set_colazione="SI";
}else{
$set_colazione="NO";
}
if(isset($servizio)){
$set_servizio="SI";
}else{
$set_servizio="NO";
}
$query="INSERT INTO prenotazioni(data,btr,cognome,nome,pranzo,cena,colazione,user_level,id,servizio) values('$data','$btr','$cognome','$nome','$set_pranzo','$set_cena','$set_colazione','$user_level','$id','$set_servizio')";
mysql_query($query);
}
echo "_____________________________________________________
";
echo "Esito:Registrazione effettuata con successo.
";
echo "_____________________________________________________
";
}
?>
Ringrazio anticipatamente tutti coloro che dedicheranno attenzione al mio problema,saluti Mirko.