10/12/2014, 11:07
|
| | | Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 10 años, 1 mes Puntos: 0 | |
Respuesta: Error al guardar registro de una tabla con checkbox a base de datos Cita:
Iniciado por loncho_rojas Pero no leiste ni interpretaste mi pregunta...
El foreach recibe un arreglo.. pero ¿COMO SABE PHP QUE DEBE ARMAR UN ARRAY SOLO CON LOS CHECKS? en ningun momento le indicas eso... Para que no estés pensando tanto, podrías usar una memoria, como la de un Array complejo como los de los carros de compras... no te suena similar? loncho rojas tenias mucha razon le di vuelta a toda mi logica y al final lo solucione de la siguiente manera incluso me di la libertad de validar el proceso ya que al seleccionar los checkbox verifica la tabla en la que quiero insertar si existe entonces si existe ya ese registro que lo actualize de lo contrario que lo inserte expongo la estructura de codigo para que pueda servir de ayudar saludos
pagina php donde hago la consulta y lo muestro en la tabla: <form id="form1" name="form1" method="post" action="script.php">
<div class="form_description">
<h2>Detalles del estado de cuenta</h2>
<p>Informacion de los periodos que hay en sistema para poderlo pagar</p>
</div>
<table width="890" cellspacing="0">
<tr>
<th width="15"></th>
<th width="250">PERIODO</th>
<th width="150">CLAVE</th>
<th width="75">ALUM</th>
<th width="75">ASEO</th>
<th width="75">PAV</th>
<th width="75">BARRI</th>
<th width="75">FIESTAS</th>
<th width="50">MORA</th>
<th width="50">INTERESES</th>
</tr>
<?php
include("conexion/conec.php");
$query=pg_query("SELECT id_deuda, alumbrado, aseo, pavimentacion, barrido, fiestas, mora,intereses, creado, usercreate, clave, periodo FROM inmuebles_deudas WHERE clave='$clave'");
while($row=pg_fetch_array($query)) {
?>
<tr>
<td><input name="very[]" id="very[]" type="checkbox" value="<?php echo $row[0] ?>" ></td>
<td hidden="true"><?php echo $row[0] ?></td>
<td><?php echo $row[11] ?></td>
<td><?php echo $row[10] ?></td>
<td><?php echo $row[1] ?></td>
<td><?php echo $row[2] ?></td>
<td><?php echo $row[3] ?></td>
<td><?php echo $row[4] ?></td>
<td><?php echo $row[5] ?></td>
<td><?php echo $row[6] ?></td>
<td><?php echo $row[7] ?></td>
</tr>
<?php
}
?>
</table>
<input type="submit" name="enviar" id="enviar" value="Enviar" />
</form>
pagina que hace todo el proceso: <?php
session_start();
$usuario=$_SESSION["usuario"];
$nivel=$_SESSION["nivel"];
include("conexion/conec.php");
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<?php
//verificamos que se marcara al menos 1 checkbox
if (isset($_POST['very'])) {
foreach($_POST['very'] as $checkboxseleccionado) {
$sql1="SELECT * FROM inmuebles_deudas where id_deuda = '$checkboxseleccionado'";
$rs1=pg_query($sql1);
$fill = pg_fetch_array($rs1);
$sql2=pg_query("SELECT * FROM queu where id_deuda = '$checkboxseleccionado'");
$result = pg_num_rows($sql2);
if($result >= 1){
pg_query("UPDATE queu SET clave='".$fill[10]."',periodo='$fill[11]',alumbrado='$fill[1]',
aseo='$fill[2]',pavimentacion='$fill[3]',barrido='$fill[4]',
fiestas='$fill[5]',mora='$fill[6]',intereses='$fill[7]',
propietario='JAIRO ERNESTO',id_deuda='$fill[0]',usercreate='$usuario' WHERE id_deuda='$fill[0]'");
echo '<p>Detalle de Entrada: '.$checkboxseleccionado.'</p>';
echo '<p>CLAVE: '.$fill['10'].'</p>';
echo 'DATOS ACTUALIZADOS POR LOS CHECKBOS QUE SELECCIONO';
echo '<p>++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++</p>';
}
else {
echo '<pre>';
echo '<p>Se guardaron los siguientes registros:</p>';
echo '<p>______________________________________________ ____</p>';
pg_query("INSERT INTO queu (clave,periodo,alumbrado,aseo,pavimentacion,barrid o,fiestas,mora,intereses,propietario,id_deuda,user create) VALUES ('".$fill['10']."','".$fill['11']."','".$fill['1']."','".$fill['2']."','".$fill['3']."','".$fill['4']."','".$fill['5']."','".$fill['6']."','".$fill['7']."','JAIRO ERNESTO','".$fill['0']."','$usuario' )") or die(mysql_error());
echo '<p>Detalle de Entrada: '.$checkboxseleccionado.'</p>';
echo '<p>CLAVE: '.$fill['10'].'</p>';
echo '<p>++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++</p>';
}
}
}?>
Saludos
Última edición por binshmikertan; 10/12/2014 a las 11:08
Razón: redaccion
|