Foros del Web » Programando para Internet » PHP »

Enviar datos checkbox a my base mysql.

Estas en el tema de Enviar datos checkbox a my base mysql. en el foro de PHP en Foros del Web. Hola estoy realizando un pequeño formulario en html que pasa unas variable por el metodo post, el problema es que cuando genero el archivo php ...
  #1 (permalink)  
Antiguo 26/04/2009, 02:23
 
Fecha de Ingreso: abril-2009
Mensajes: 1
Antigüedad: 15 años
Puntos: 0
Enviar datos checkbox a my base mysql.

Hola estoy realizando un pequeño formulario en html que pasa unas variable por el metodo post, el problema es que cuando genero el archivo php (insertar en la base de datos los checkbox no me los inserta). En la base de datos estan declarados los valores tinyint(1) .Creo que es un problema de sintaxis:


***** Fragmento Formulario:*********

<form method="POST" action="insertar.php">


<br><br>

Cerrado a 1ª: <input type="checkbox" name="calidad" id="calidad" value=""><br><br>
Instalacion: <input type="checkbox" name="instalacion" id="instalacion" value=""><br><br>
Averia: <input type="checkbox" name="averia" id="averia" value=""><br><br>
<input type="submit" name="bto_submit" id="bto_submit" value="INSERTAR">
<br>


*****insertar.php *****


html>
<head>
<title>Insertar.php</title>
</head>
<body>
<?php

mysql_connect("localhost","agenda","agenda") or die ("Fallo en el establecimiento de la conexión");
mysql_select_db("agenda");


$calidad = $_POST['calidad'];
$instalcion = $_POST['instalacion'];
$averia = $_POST['averia'];


$sql_query = "insert into datos (calidad, instalacion, averia) values ('".$calidad."','".$instalacion."','".$averia."')" ;


$resultat = mysql_query($sql_query);


if($resultat){
echo "<center><h1>Registro Insertado</h1></center>";
} else {
echo "<center><h1>Error al Insertar el registro</h1></center>";
}
?>

<div align="center"><a href="consulta.php">Visualizar el contenido de la base</a></div>

</body>
</html>


Gracias de antemano y agradezco vuestros comentarios.
  #2 (permalink)  
Antiguo 20/06/2010, 13:26
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Enviar datos checkbox a my base mysql.

Para que introduzcas datos dentro de la base de datos, tienes que asignar un valor a "value". Te quedaría así:

Código PHP:
<input type="checkbox" name="calidad" id="calidad" value="calidad_ok">
Instalacion: <input type="checkbox" name="instalacion" id="instalacion" value="inst_ok">
Averia: <input type="checkbox" name="averia" id="averia" value="averia_ok">
<
input type="submit" name="bto_submit" id="bto_submit" value="INSERTAR"

Espero que te sirva. Lo he probado en mi propio servidor y funciona. De todas maneras, para saber si los valores son introducidos vía POST, lo primero que deberías hacer es comprobar qué datos son enviados con POST.

Para eso, suelo hacer una página intermedia tipo:

Código:
echo $_POST['calidad'];
echo $_POST['instalacion'];
echo $_POST['averia'];
Debería aparecer entonces algo así:
Código:
calidad_ok
inst_ok
averia_ok
Espero que esto sirva de explicación. Repito que a mi me funciona.
  #3 (permalink)  
Antiguo 20/06/2010, 14:15
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 3 meses
Puntos: 26
Respuesta: Enviar datos checkbox a my base mysql.

lo otro es meterlo en un array y tomarlo con foreach o con un for

<input type="checkbox" name="calidad[]" value="calidad_ok">
<input type="checkbox" name="calidad[]" value="calidad_null">
<input type="checkbox" name="calidad[]" value="calidad_arg">

$calidad=$_POST['calidad'];
for($i=0;$i<count($calidad);$i++){
$sql_query = "insert into datos (calidad) values ('$calidad[$i]')" ;
}
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.
  #4 (permalink)  
Antiguo 21/07/2010, 17:03
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Enviar datos checkbox a my base mysql.

hola señores del foro, me gusto mucho ese arreglo del señor: bocho0610, pero tengo una pregunta. deseo introducir un input type=text junto con el checkbox a mi bd, dentro de este arreglo en donde ingresaria o procesaria los input type=text en el for($i=0;$i<count($calidad);$i++){ el codigo seria este:

<?php
include("../../procesos_user_dr/CONEX.PHP");
$link=Conectarse();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Examenes de Laboratorio Clinico</title>
</head>

<body>
<form action="ing_hist_clinica_examenes_labclinico.php" method="post" name="form1" onsubmit='verif();'>
<table width="16%" border="1" cellpadding="3" >
<tr>
<th >codigo Exa.Labcli</th>
<th>Descripcion del Examen</th>
<th >Por que se lo mandan:</th>
<th>
<?
$cod_antecedente = $_POST['seleccion'];
$observacion = $_POST['seleccion2'];

//SELECCIONO examenes del labclinico
$sql3 ="SELECT * FROM t_examen_lab1";
$result3 = mysql_query($sql3, $link);
$row = mysql_fetch_array($result3);
$numregistros=mysql_numrows($result3);
$i=0;
while ($i < $numregistros)
{
$cod_exam_lab=mysql_result($result3,$i,cod_exam_la b);
$descripcion=mysql_result($result3,$i,descripcion) ;
?>
</strong></span></th>
</tr>
<tr>
<td width="19%" class="texto"><span class="subtitulo"><? echo $cod_exam_lab;?></span></td>
<td width="37%" class="texto"><span class="smallfont"><span class="subtitulo"><? echo $descripcion; ?></span></span></td>
<td width="44%" align="center" ><input name="calidad2[]" type="text" id="calidad2[]"> </td>
<td width="44%" ><input name="calidad[]" type="checkbox" id="calidad[]" value="<? echo $cod_exam_lab; ?>"></td>
</tr>
<?
$i++;
}
?>
</table>
<p>&nbsp;</p>
<p>
<input type="submit" value = "enviar" />
</p>
</form>
<p>
<?php

$calidad=$_POST['calidad'];
$calidad2=$_POST['calidad2'];

//Ayuda de bocho0610 http://www.forosdelweb.com/f18/enviar-datos-checkbox-my-base-mysql-693262/

for($i=0;$i<count($calidad);$i++){//Aqui donde coloco la variable calidad2 que seria la observacion
$query = "insert into t_examen_lab2 (cod_exam_lab, observacion) values ('$calidad[$i]','$calidad2[$i]')" ;
mysql_query($query);
}



?>
</p>
</body><p class="reditalic">&nbsp; </p>
</form>
<p>&nbsp;</p>
</body>
</html>

Les agradeceria de antemano la ayuda.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:44.