Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/11/2011, 18:46
Fabih24
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 14 años
Puntos: 2
Respuesta: Recuperar checkbox marcados

Me salió GatorV, gracias por la ayuda.

Dejo el código, quizas a alguien le sirve en el futuro.

Código PHP:
<?php session_start(); 
include(
"../../clases/class_trabajos.php"); 

class 
Contenido extends Pagina
{
    function 
realizarCambios($array,$seccion,$seccionID)
    {
        
//Recupero todos los campos de los checkbox (marcados y no marcados)
        
$consultamysql_query("SELECT $seccionID FROM $seccion 
                                WHERE Subidopor ='1'"
);
        
//cantidad de resultados
        
$cantidad mysql_num_rows($consulta);
        
//guardo todos los valores en un array
        
for($i=0;$i<$cantidad;$i++)
        {
            
$arrayseccion mysql_fetch_array($consulta);
            
$valor $arrayseccion[$seccionID];
            
$guardoArray[$i] = $valor
        }
        
// si estan setiado los 2 arrays obtengo los nos marcados y hago el update...
        
if((isset($guardoArray)) && (isset($_POST[$array])))
        {
            
$array_nomarcados array_diff($guardoArray,$_POST[$array]);
        
            if (isset(
$array_nomarcados))
            {
                foreach (
$array_nomarcados as $cambio)
                {
                    if (
$cambio != "")
                    
$consulta mysql_query("UPDATE $seccion SET Ficha='0' WHERE $seccionID = $cambio");
                }
            }
        }
        
// si no esta esta seteado el array del POST quiere decir que todos los campos estan desmarcados, por lo tantos el UPDATE es para todos 0
        
elseif(isset($guardoArray))
        {
                
$consulta mysql_query("UPDATE $seccion SET Ficha='0'");
        }
        
        
// obtengo los marcados y hago el update
        
if (isset($_POST[$array]))
        {
            foreach (
$_POST[$array] as $cambio)
            {
                if (
$cambio != "")
                    
$consulta mysql_query("UPDATE $seccion SET Ficha='1' WHERE $seccionID = $cambio");
            }
        }
    }

    function 
MostrarCuerpo()
    { 
    if (!
$this -> DB_Connect())
                return 
"No ha podido ser ingresado en la Base de Datos, por favor intentalo mas tarde.";
    
        
$this->realizarCambios("tema","temas","TemaID");
        
$this->realizarCambios("instrumental","instrumentales","InstrumentalID");
        
$this->realizarCambios("video","videos","VideoID");
        
$this->realizarCambios("letra","letras","LetraID");
        
    
mysql_close();
    }
}

  
$pagina = new Contenido();
  
  
$pagina -> SetTitulo(" - Mis trabajos");
  
$pagina -> MostrarPagina();  
?>