Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Script checkbox dinamico

    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.

  2. #2
    Scusate il doppio post ma dopo una giornata di sbatti e risbatti credo di aver capito il problema ..
    Praticamente dopo aver definito tramite dei cicli if la variabile $indice questa poi va a fare da variabile di scorrimento nel ciclo foreach e il problema è che laddove è definito pranzo e non è definito cena questa invece di controllare a ogni riga quale variabile è definita per prima rimane sempre ferma a pranzo[ch]...saltando le righe laddove chpranzo non è flaggata..
    qualcuno ha un'idea su come poter risolvere questo problema?

  3. #3
    up..nessuno riesce a darmi un consiglio o un aiuto?
    ci sto impazzendo da giorni

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.