PHP - grabar un checkbox en php y mysql

 
Vista:
Imágen de perfil de mac howard
Val: 14
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

grabar un checkbox en php y mysql

Publicado por mac howard (3 intervenciones) el 14/01/2018 22:54:01
Saludos a todos.

tengo una consulta.

Este es el script que graba a la base de datos. Pero tengo algo que no me deja grabar el registro y no se que sera.
me saca el mensaje "No se pudo agregar el Registro." y no se cual sera el impase,

*********************************************************************
script que graba a la base datos.
*********************************************************************

<?php

if(!empty($_POST))
{
if(isset($_POST["codi"]) &&isset($_POST["name"]) &&isset($_POST["lastname"]) &&isset($_POST["email"]) &&isset($_POST["address"]) &&isset($_POST["phone"]) &&isset($_POST["ciud"]) &&isset($_POST["perm"]) &&isset($_POST["segm"]) )
{

if( $_POST["codi"]!="" && $_POST["name"]!="" && $_POST["lastname"]!="" && $_POST["address"]!="" && $_POST["phone"]!="" && $_POST["ciud"]!="" && $_POST["perm"]!="" && $_POST["segm"]!="" )
{
include "conexion.php";

$for_query = '';
if(!empty($_POST["segm"]))
{
foreach($_POST["segm"] as $segm)
{
// $for_query .= $language . ', '; //
$for_query .= $segm;

$sql = "INSERT INTO person (segm) VALUES ('$for_query')" ;
// $querys = $con->query($query);//
}
}
}
}
}

if($sql!=null){
print "<script>alert(\"Registro Agregado exitosamente.\");window.location='../ver.php';</script>";
}else{
print "<script>alert(\"No se pudo agregar el Registro.\");window.location='../ver.php';</script>";
}

?>

*********************************************************************
y este es el formulario con los campos a grabar
*********************************************************************

<div class="form-group"/>
<label for="segm">SEGMENTOS</label>
<form id="form1" name="form1" method="post" action="" >
<p><input type="checkbox" name="segm[]" value="1" /> Empresa de Transporte</p>
<p><input type="checkbox" name="segm[]" value="2" /> Transportista</p>
<p><input type="checkbox" name="segm[]" value="4" /> Distribucion Urbana</p>

</div>


Agradezco su comentarios sobre este tema.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

grabar un checkbox en php y mysql

Publicado por gonzalo (615 intervenciones) el 14/01/2018 23:40:22
ok, me imagino que es en esta linea

$sql = "INSERT INTO person (segm) VALUES ('$for_query')" ;

el problema con los chekbox es que los que no estan activados no son admitidos en el $_POST, asi que si solo checan 1, el foreach solo correra 1 vez.

la otra es que si checan los 3 entonces en el primer registro guardas 1, en el segundo guardas 12 y en el tercero guardas 124, esto porque los vas "concatenando".

$for_query .= $segm;

si lo que quieres es guardar 1 en el primer registro, 2 en el segundo y 4 en el tercero entoces debes quitarle el punto entre for_query y segm.

revisa de nuevo tu codigo y si pudieras indicar si esta es la linea que marca con error eso seria de mucha ayuda.

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de mac howard
Val: 14
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

grabar un checkbox en php y mysql

Publicado por mac howard (3 intervenciones) el 17/01/2018 10:49:30
Saludos.
gonzalo

Muchas gracias por por tu aporte.

Eso era.
Muchas gracias !!

Un Abrazo.!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar