Guardar campos de la tabla seleccionada por checkbox en Mysql realizada en PHP
Publicado por Josue Bryan (17 intervenciones) el 22/06/2018 18:18:33
Hola por favor ayudenme con otro problema que tengo, yo quiero guardar las filas de la tabla que ha sido seleccionada por checkbox en Mysql realizada en PHP, necesito guardar el id del producto, y la cantidad en mi base de datos Mysql eh intentado de varias formas pero no logro hacerlo, si me guarda el o los id del producto (id_prod_serv) pero no me guarda bien la cantidad o cantidades de esos productos, solo me guardan ceros.
Este es mi select:
Esta es mi tabla:
Este es mi insert


Este es mi select:
1
2
<?php $query = "select B.id_paquete,A.id_prod_serv,A.nombre,B.precio_unitario FROM tb_productos_servicios A JOIN tb_paquetes B ON A.id_prod_serv = B.id_prod_serv JOIN tb_categorias C ON B.id_categoria=C.id_categoria where B.id_categoria=1";
$res = mysqli_query($con, $query); ?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<table class="table" id="tb1" table-bordered>
<thead>
<tr class="warning">
<th><input type="checkbox" onclick="marcar(this);" /></th>
<th>Productos</th>
<th>Precio por unidad</th>
<th>Cantidad</th>
<th>Precio por producto</th>
</tr>
</thead>
<tbody>
<tr>
<?php
while ($row2 = mysqli_fetch_array($res)) {
$id = $row2['id_paquete'];
$nom = $row2[2];
$pre = $row2[3];
?>
<tr>
<td class='col-xs-1'><input type="checkbox" name="idproduc[]" value="<?php echo $row2['id_prod_serv']; ?>" ></td>
<td class='col-xs-2'><?php echo $nom; ?></td>
<td class='col-xs-1'>
<div class="pull-right"><input type="number" name="val1" class="form-control monto input" style="text-align:right" value="<?php echo $pre; ?>"/>
</div></td>
<td class='col-xs-1'>
<div class="pull-right"><input type="number" id="val2" name="valu" class="form-control monto input" style="text-align:right" value=""/>
</div></td>
<td class='col-xs-1'>
<div class="pull-right"><input type="number" class="form-control monto total" value="0" readonly/>
</div></td>
</tr>
<?php } ?>
<tr>
<td></td>
<td></td>
<td></td>
<td>
Total
</td>
<td class='col-xs-1'>
<div class="pull-right"><input type="number" class="form-control monto totales" value="0" disabled>
</div></td>
</tr>
</tbody>
</table>
Este es mi insert
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
require_once("conexion.php");
require_once("db.php");
if (isset($_POST['enviar_per'])) {
//Si las variables existen (isset) y estan llenos(!empty)
if (isset($_POST['val']) && !empty($_POST['val']) && isset($_POST['fecha']) && !empty($_POST['fecha']) && isset($_POST['horas_per']) && !empty($_POST['horas_per']) && isset($_POST['cant']) && !empty($_POST['cant']) && isset($_POST['ci']) && !empty($_POST['ci']) && isset($_POST['nom']) && !empty($_POST['nom']) && isset($_POST['email']) && !empty($_POST['email']) && isset($_POST['telef']) && !empty($_POST['telef']) && isset($_POST['direc']) && !empty($_POST['direc'])) {
mysqli_query($con, "INSERT INTO tb_cotizacion_cabecera (id_evento,fecha_registro,fecha_evento,hora,cant_personas,cedula_cliente,nombre,email,telefono,direccion,estado) VALUES ('$_POST[val]',NOW(),'$_POST[fecha]','$_POST[horas_per]','$_POST[cant]','$_POST[ci]','$_POST[nom]','$_POST[email]','$_POST[telef]','$_POST[direc]','activo')");
if ($_POST['idproduc'] != "") {
if (is_array($_POST['idproduc'])) {
while (list($key, $value) = each($_POST['idproduc'])) {
$cantidades = $_POST['valu'];
$conx = mysqli_connect($DB_HOST, $DB_USER, $DB_PASS) or die("imposible conectarse: " . mysqli_error($conx));
mysqli_select_db($conx, $DB_NAME)or die("Problemas al conectar la bd");
$sql = mysqli_query($conx, "INSERT INTO tb_cotizacion_detalle (id_cotizacion,id_prod_serv,cantidad) VALUES ($con->insert_id,'$value','$cantidades')");
}
}
}
echo '<p style="color:green; background: #ECEFF0; margin-left:100px;">Datos guardados correctamentes</p>';
mysqli_close($con);
mysqli_close($conx);
} else {
echo '<p style="color:red; margin-left:100px; background: #ECEFF0">No se guardaron sus datos</p>';
}
}
?>


Valora esta pregunta


0