Ver Mensaje Individual
  #18 (permalink)  
Antiguo 27/11/2012, 15:31
cesar_romo64
 
Fecha de Ingreso: octubre-2011
Ubicación: Leon,gto.mx
Mensajes: 10
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: Problema enviando checkbox a la base de datos.

Cita:
Iniciado por kahlito Ver Mensaje
Hola acabo de hacer otra prueba y si me da valores vacíos.

No es que me de un error si no que cuando añado enfermedades y $_POST["foo"] para enviar los elegidos a la base de datos pues que no envía nada y tengo un lio que ya no se ni como separarlos para que se envíen correctamente.

No se si ahora me explico mejor, primero hago una prueba con dos campos normales y esta sentencia se cumple bien:

Código PHP:
Ver original
  1. if(isset($_POST["enviar-ch"]))
  2.     {
  3.         //Creo la conexión al servidor con usuario y contraseña:
  4.         $conexion=mysql_connect("localhost","root","vertrigo");
  5.         if(!$conexion)
  6.         {
  7.             //Si hay algún error en la conexión lo muestra
  8.             exit("Database Error: " .mysql_error());
  9.         }      
  10.         /*Selecciono la base de datos y le doy la variable para conectar al servidor, asi todas las consultas que se hagan ya
  11.         estarían conectadas.*/
  12.         mysql_select_db("alumnos_a",$conexion);
  13. //Preparo la consulta
  14.         $insertar=mysql_query("insert into alumnos(nombre,curso) values
  15.         ('$_POST[nombre]','$_POST[curso]')");  
  16. //Cierro la conexión
  17.         mysql_close($conexion);


Hasta ahi todo bien, pero si quiero añadir a todo esto la opción de los checkbox ¿como sería? he probado ya de varias maneras y nada... el formulario que uso es este:

Código PHP:
Ver original
  1. <form name="enfermedades" method="post" action="">
  2.         Nombre: <input type="text" name="nombre" /><br />
  3.         Curso: <input type="text" name="curso" /><br />    
  4.         <!--<input type="checkbox" name="foo[]" value="1" />
  5.         <input type="checkbox" name="foo[]" value="2" />
  6.         <input type="checkbox" name="foo[]" value="3" />
  7.         <input type="checkbox" name="foo[]" value="4" />
  8.         <input type="checkbox" name="foo[]" value="5" />
  9.         <input type="checkbox" name="foo[]" value="6" />-->
  10.         <?php
  11.         $enfermedades=array("Asma", "Epilepsia", "Esquizofrenia");
  12.         $cantidad=count($enfermedades);
  13.         for ($c=0; $c<$cantidad ; $c++) {
  14.             //Preparo tantos inputs como enfermedades tenga el array
  15.             echo '<input type="checkbox" name="foo[]" value="'.$enfermedades[$c].'" />'.$enfermedades[$c].'';
  16.         }      
  17.         ?>
  18.         <input type="submit" value="Enviar" name="enviar-ch" />
  19.     </form>

Y sigo intentando añadir la opción de enviar esos checks a la base de datos. Gracias de nuevo.
orales es que yo uso Radio bottom y es diferente.........pero es similar en cierta forma, Intenta, ponerle en lugar de "foo[]" el nombre directo de la "variable", es decir algo asi: <input type= "checkbox" name "1" value =""/> para que no lo manejes como registro.

Dejame revisar mis codigos haber si algo te puede servir y los posteo, por lo pronto te paso la forma en que yo guardo en un proyecto anterior........

$arreglo_pregunta=explode("-", $_POST['P152']);
$valor = "insert INTO formato1_contestado (id_aplicacion, id_alumno,id_pregunta,id_respuesta,id_parametro)";
$valor .= "VALUES ('$id_aplicacion','$id_alumno',$arreglo_pregunta[0],$arreglo_pregunta[1],$arreglo_pregunta[2])";
$res = mysql_query($valor, $conexionbd) or die(mysql_error().$valor);
$state = true;

Esto me sirve para pasar los valores de cada ratio que pueden ser hasta 7 en alguna pregunta....

Saludos