Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error al guardar registro de una tabla con checkbox a base de datos

Estas en el tema de Error al guardar registro de una tabla con checkbox a base de datos en el foro de PHP en Foros del Web. Buen dia estimados tengo un gravisimo problema veran estoy creando una tabla en php y dentro de esa tabla creo una consulta con registros de ...
  #1 (permalink)  
Antiguo 10/12/2014, 09:13
Avatar de binshmikertan  
Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 10 años
Puntos: 0
Exclamación Error al guardar registro de una tabla con checkbox a base de datos

Buen dia estimados tengo un gravisimo problema veran estoy creando una tabla en php y dentro de esa tabla creo una consulta con registros de una tabla y cada registro tiene un checkbox para que al darle click al checkbox y click en un boton me guarde uno o mas filas seleccionadas por el checkbox en otra tabla el gestor de base de datos es PosgreSQL y pues he buscado muchos ejemplos en internet pero ninguno me ha servido esta es la estructura del codigo:
Código PHP:
<form method="POST" action="">
            <div class="form_description">
            <b><h2>Estado De Cuenta</h2></b>
            <p>Estado de cuenta para la Clave Catastral <b><?php echo $clave ?></b></p>
        </div>    
                <table  width="890" cellspacing="0">
        <tr bgcolor='#EC1564'>
            <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">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 style='background: #8CD299;'>
            
            <td><input type='checkbox' name='datos[]' value='<?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>
            
            </tr>
            <?php
        
}            
                    
        
?>
        
      
    </table>
    <input type="button" name="submit" id="submit" value="Mandamiendo de Pago"></input>
    
    
    
                </form>
esta es la estructura que he probado si se ha seleccionado un checkbox que me imprima lo que trae pero por algun problema no me trae nada
Código PHP:
<?php 
            
if (isset($_POST["submit"])){

                            foreach (
$_POST["datos"] as $value) {
                    
//imprimir lo que trae el checkbox
                            
echo $value[0];
                            }
                                                }
                            else{
                        
                                    }            
                
            
            
    
?>
espero me puedan brindar una ayuda recuerden hoy por ti mañana por mi saludos

Última edición por binshmikertan; 10/12/2014 a las 09:21 Razón: error de redaccion
  #2 (permalink)  
Antiguo 10/12/2014, 09:27
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Error al guardar registro de una tabla con checkbox a base de datos

Y en qué momento le dices que te envie solo los que están checkados? no lo veo en tu code...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 10/12/2014, 09:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Error al guardar registro de una tabla con checkbox a base de datos

¿Y dónde lo mandas a guardar?
Eso yo tampoco lo veo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 10/12/2014, 09:32
Avatar de binshmikertan  
Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 10 años
Puntos: 0
Respuesta: Error al guardar registro de una tabla con checkbox a base de datos

Cita:
Iniciado por loncho_rojas Ver Mensaje
Y en qué momento le dices que te envie solo los que están checkados? no lo veo en tu code...

Gracias por responder a mi problema y pues lo digo en el foreach del $_POST que traiga el name checkbox que sera coomo un areglo si hay un ejemplo mejor o una sugerencia lo agradeceria enormemente
  #5 (permalink)  
Antiguo 10/12/2014, 09:33
Avatar de binshmikertan  
Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 10 años
Puntos: 0
Respuesta: Error al guardar registro de una tabla con checkbox a base de datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Y dónde lo mandas a guardar?
Eso yo tampoco lo veo...
dentro del foreach pongo primero un select de la tabla ala que guardare si me trae que hay un valor por el id que lo actualize de lo contrario que lo guarde pero el gran problema es que no me trae nada el chekbox marcado
  #6 (permalink)  
Antiguo 10/12/2014, 09:41
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Error al guardar registro de una tabla con checkbox a base de datos

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?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 10/12/2014, 11:07
Avatar de binshmikertan  
Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 10 años
Puntos: 0
Respuesta: Error al guardar registro de una tabla con checkbox a base de datos

Cita:
Iniciado por loncho_rojas Ver Mensaje
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

Etiquetas: checkboxes
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




La zona horaria es GMT -6. Ahora son las 09:15.