Foros del Web » Programando para Internet » PHP »

problema con arreglo de checkbox y texbox

Estas en el tema de problema con arreglo de checkbox y texbox en el foro de PHP en Foros del Web. Buen día, a todos tengo un dilema con un arreglo, o se si es posible o es que no se interpretarlo bien, tengo este arreglo ...
  #1 (permalink)  
Antiguo 17/12/2012, 09:48
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
problema con arreglo de checkbox y texbox

Buen día, a todos tengo un dilema con un arreglo, o se si es posible o es que no se interpretarlo bien, tengo este arreglo de checkbox y de texbox para ingresarlos en una bd, pero resulta que el usuario solo puede llenarlos en orden, asi por ejemplo si escoge el primer checkbox y el tercero, al no llenar el segundo sale un error, y solo entra en la bd el primer check.

este es el codigo, les pido ayuda xq ya no se que hacer, por favor:

Código PHP:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
    

   
   if(isset(
$_POST['id_progsocial'])) 
    { 
        
$textos $_POST['id_progsocial']; 
        
$anios $_POST['ano'];
       for(
$i 0$i sizeof($textos); $i++) 
    
       
        {
            
$var_id_progsocial $textos[$i];
            
$var_anios $anios[$i];
            if(
$anios[$i] != '' )
            
            {
              
                
$insertSQL "INSERT IGNORE INTO rsptas_progsocial (identificacion, id_progsocial, ano) VALUES " .
                    
"('$cedula','$var_id_progsocial', '$var_anios');";
                echo 
$insertSQL '<br />';
                
mysql_select_db($database_conexion$conexion) or die('No se puede conectar a la base de datos. ' mysql_error());
                  
$Result1 mysql_query($insertSQL$conexion) or die(mysql_error() . ' ' $insertSQL);    
                            
            }
        } 
        
/*if($Result1==TRUE){
            $mensaje="Se ingreso correctamente el solicitante";
            $prematricula=  '<td><a href="../prematricula/prematricular.php?id='.$id.' & cedula='.$cedula.'">Prematricular</a></td></tr>';
        }*/

}} 
Espero haberme explicado bien les pido un pista por lo menos
  #2 (permalink)  
Antiguo 17/12/2012, 09:52
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: problema con arreglo de checkbox y texbox

Para eso es mejor usar foreach, o en el peor de los casos primero verifica si existe o no el indice...

Código PHP:
Ver original
  1. $textos = $_POST['id_progsocial'];  
  2.         $anios = $_POST['ano'];
  3.        for($i = 0; $i < sizeof($textos); $i++)  
  4.      
  5.        
  6.         {
  7.             if (isset($textos[$i]) && isset($anios[$i])) {
  8.             $var_id_progsocial = $textos[$i];
  9.             $var_anios = $anios[$i];
  10.             if($anios[$i] != '' )
  11.              
  12.             {
  13.                
  14.                 $insertSQL = "INSERT IGNORE INTO rsptas_progsocial (identificacion, id_progsocial, ano) VALUES " .
  15.                     "('$cedula','$var_id_progsocial', '$var_anios');";
  16.                 echo $insertSQL . '<br />';
  17.                 mysql_select_db($database_conexion, $conexion) or die('No se puede conectar a la base de datos. ' . mysql_error());
  18.                   $Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error() . ' ' . $insertSQL);    
  19.                              
  20.             }
  21.             }
  22.         }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 17/12/2012, 10:11
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: problema con arreglo de checkbox y texbox

muchas gracias Nemutagk, veras al verificar si existe el indice, pues solo me ingresa el primer check elegido y no inserta los otros. Veras lo que yo quiero es que ingrese todos los check en la db de datos, pero al encontrar que el anterior o el sgt check no esta lleno no los ingresa.

y pues con el for each la verdad no tengo idea de como hacerlo.

veras cuenta el numero de check "con check" y asi cuenta el numero de texbox, entonces si se lleno el primer check el segundo no y el tercero y el cuarto a la hora de llenar los texbox el cuenta con tres chec y los cuenta seguidos entonces al llegar a tres se detiene el for, xq conto con el segundo check por eso el error de offset, xq dice que no esta lleno.

y noc como hacer para que valide que sino cumple que siga con el otro.

creo que la validacion del if no es la ideal pero noc como hacer o si en realidad ese es el problema

Última edición por arlene90; 17/12/2012 a las 10:18

Etiquetas: checkbox, mysql, sql, arreglos, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:18.