Foros del Web » Programando para Internet » PHP »

Recibir arreglo de checkbox y texox desde bd

Estas en el tema de Recibir arreglo de checkbox y texox desde bd en el foro de PHP en Foros del Web. Hola de nuevo a todos, estoy muy agradecida de toda la ayuda recibida en este foro y pues he buscado bastante sobre este tema, pero ...
  #1 (permalink)  
Antiguo 27/12/2012, 10:48
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Recibir arreglo de checkbox y texox desde bd

Hola de nuevo a todos, estoy muy agradecida de toda la ayuda recibida en este foro y pues he buscado bastante sobre este tema, pero creo q no he encontrado algo parecido.

Veran deseo recibir un arreglo como les cuento en el titulo, pero deseo que me muestre todos los check esten o no checados desde la bd, pues se le da la opcion al usuario de poder agregar un check mas o de quitarlo si lo desea, osea hacer un update, esto es lo que hice pero definitivamente no me funciona:

Código PHP:
$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
    
    
    if(isset(
$_POST['id_progsocial']) && isset ($_POST['ano'])){ 
 
        
$textos $_POST['id_progsocial']; 
        
$anios $_POST['ano'];
        

       
print_r($textos);
       
print_r('<br />'); 
       
print_r($anios);
       
       
       for(
$i 0$i count($textos); ++$i
    
       
        {
            
             
$var_id_progsocial $textos[$i];
             
$indice $var_id_progsocial-1;
            
            


    if (
$anios[$indice] !='')
    {
    
  
$updateSQL sprintf("UPDATE rsptas_progsocial SET  id_progsocial= $var_id_progsocial,  ano='".$anios[$indice]."' WHERE id_rsptas=%s",
                      
// GetSQLValueString($_POST['identificacion'], "text"),
                       //GetSQLValueString($_POST['id_progsocial'], "int"),
                       
                      // GetSQLValueString($_POST['ano'], "text"),
                       
GetSQLValueString($_POST['id_rsptas'], "int"));

  
mysql_select_db($database_conexion$conexion);
  
$Result1 mysql_query($updateSQL$conexion) or die(mysql_error());
}
        }}}
        
        

mysql_select_db($database_conexion$conexion);
$cedula$_GET['cedula'];

$query =  "SELECT * FROM rsptas_progsocial WHERE  rsptas_progsocial.identificacion='$cedula' ";

$arreglo mysql_query"SELECT * FROM rsptas_progsocial WHERE  rsptas_progsocial.identificacion='$cedula' ");
$totalRows_arreglo_exist mysql_num_rows($arreglo);

if ( 
$totalRows_arreglo_exist>0) { 
$tabla1mysql_query($query) or die(mysql_error()); 

}
?> 
esta es una parte del formulario porque sn 12 check y 12 texbox:

Código HTML:
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
          <table align="center">        
          
            <?php
			 
			  while($fila = mysql_fetch_row($tabla1)) 
{
              

    ?> 
       <tr valign="baseline">
           
              <td>&nbsp;</td>
          
              <td><input type="checkbox" name="id_progsocial[]" value="<?php if (!empty($row_Recordset1['id_progsocial'])){if ($row_Recordset1['id_progsocial']==1) {echo "checked=\"checked\"";}} ?>" /> Participante referido del Programa Alternativas Juveniles</td>
              <td>Año:</td>
              <td><input type="text" name="ano[]" value="<?php echo $fila[0]; ?>" /></td>
              
            </tr>
            
<tr valign="baseline">
          <td>&nbsp;</td>
          <td><input  type="Checkbox" name="id_progsocial[]"   value="<?php if (!empty($row_Recordset1['id_progsocial'])){if ($row_Recordset1['id_progsocial']==2) {echo "checked=\"checked\"";}} ?>" />Madre Adolescente</span></td>
          <td>Año:</td>
          <td><input type="text" name="ano[]" value="<?php echo $fila[1]; ?>" /></td>
        </tr>
        
        
        
        <tr valign="baseline">
          <td>&nbsp;</td>
          <td><input  type="Checkbox" name="id_progsocial[]"  value="<?php echo $usuarios[2]; ?>" />Adolescente Embarazada(de 15 a 18 años)</span></td>
          <td>Año:</td>
          <td><input type="text" name="ano[]" value="<?php echo $fila[2]; ?>" /></td>
        </tr> 
  #2 (permalink)  
Antiguo 27/12/2012, 11:22
Avatar de sergiolimo.  
Fecha de Ingreso: julio-2006
Ubicación: Yakarta
Mensajes: 73
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Recibir arreglo de checkbox y texox desde bd

Para que quede chequeado tenes que poner el atributo "checked" dentro del input... entonces lo que haces es preguntar si en cada caso necesita o no estar checado. Yo lo resuelvo siempre con una variable de texto que sea "checked" si esta checado y vacía si no, entonces le agregas <? echo $cheked; ?> y listo.
No se si quedo clara la explicacion, cualquier cosa solo chifla 2 veces
__________________
Una mujer en bicicleta, con sombrero de paja, es la mas flagrante violación a las leyes de la aerodinámica

Corralon de materiales
  #3 (permalink)  
Antiguo 27/12/2012, 11:52
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Recibir arreglo de checkbox y texox desde bd

si gracias yo lo estuve haciendo asi:

Código PHP:
 <td><input type="checkbox" name="trabaja" id="trabaja" value="Si" <?php if (!empty($row_Recordset1['trabaja'])){if ($row_Recordset1['trabaja']=='Si') {echo "checked=\"checked\"";}} ?> size="25" />
y en otros campos si me funciona hasta con un radiobutton, pero aca no me sirve, supongo que es porque lo ingreso como un arreglo, porque como dije es un arreglo de checkbox y texbox.
  #4 (permalink)  
Antiguo 28/12/2012, 19:41
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Recibir arreglo de checkbox y texox desde bd

Me ayudan por favor
  #5 (permalink)  
Antiguo 28/12/2012, 20:10
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Recibir arreglo de checkbox y texox desde bd

Prueba con esto que es un poco más limpio al no tener tanto código...

Código PHP:
<input type="checkbox" <?php echo ($row_Recordset1['id_progsocial']) ? "checked=\"checked\"" ""?> />
Lo que he usado es un operador ternario, que se parece al if pero tiene menos código, funciona de la siguiente manera...

(condicion) ? "verdadero" : "falso"

Ejemplo práctico:

Código PHP:
$foo 5;

echo (
$foo==5) ? "Foo vale cinco" "Foo no vale cinco"
Felices fiestas,

Synkronice
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill
  #6 (permalink)  
Antiguo 29/12/2012, 13:05
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Recibir arreglo de checkbox y texox desde bd

fue una tonteria el value debia ser asi value="" y luego el codigo php ahora ver como hago para recibir el arreglo de texbox, gracias

Última edición por arlene90; 29/12/2012 a las 13:20

Etiquetas: formulario
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 14:44.