Foros del Web » Programando para Internet » PHP »

problema con validacion de registros PHP

Estas en el tema de problema con validacion de registros PHP en el foro de PHP en Foros del Web. Buen dia FDW tengo un pequeño problemita que por algun motivo desconocido no logro solucionar tengo el siguiente trozo de codo: Código PHP: $clave = ...
  #1 (permalink)  
Antiguo 30/12/2014, 10:42
Avatar de binshmikertan  
Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 10 años
Puntos: 0
Exclamación problema con validacion de registros PHP

Buen dia FDW tengo un pequeño problemita que por algun motivo desconocido no logro solucionar tengo el siguiente trozo de codo:
Código PHP:
$clave=$_GET["clave"];
include(
"conexion/conec.php");
      
$query=pg_query("SELECT * FROM inmuebles_pagos WHERE clave='$clave' ORDER BY fecha_pago DESC LIMIT 1") or die(pg_last_error());
      
$row=pg_fetch_array($query);
      
$ultimafecha=date_format(date_create($row[1]), 'Y-m-d');
      
$clave=$row[12];
        
$ultimafecha=substr($ultimafecha,0,7)."-01";
        
$siguientefecha=date("Y-m-d",strtotime($ultimafecha." +1 month"));
        
//echo $ultimafecha;
        
while(strtotime($siguientefecha)<strtotime(date('Y-m-d',strtotime("first day of this month")))){
            
$actual explode("-",$siguientefecha);
            
$periodo $actual[1].$actual[0];
            
//calculos para el periodo
            
$siguientefecha=date("Y-m-d",strtotime($siguientefecha." +1 month"));
            
            
          
$conn=pg_query("SELECT * FROM inmuebles_deudas WHERE clave='$clave'");
             
$record pg_num_rows($conn);
             
            if(
$record 0){
            
pg_query("UPDATE inmuebles_deudas SET alumbrado='$row[3]',aseo='$row[4]',pavimentacion='$row[5]',barrido='$row[6]',fiestas='$row[7]',mora='$row[8]',intereses='$row[9]',creado='now()',usercreate='$usuario',clave='$clave',periodo='$periodo' WHERE clave='$clave'") or die(pg_last_error());
            echo 
"registro actualizado";
            }else{ 
            
pg_query("INSERT INTO inmuebles_deudas(alumbrado, aseo, pavimentacion,barrido, fiestas,mora, intereses, creado, usercreate,clave,periodo) VALUES ('$row[3]','$row[4]','$row[5]','$row[6]','$row[7]','$row[8]','$row[9]','now()','$usuario','$clave','$periodo')")or die(pg_last_error());
            echo 
"registro inzertado";
            }
                
            
            
        } 
el problema surge en esta parte de el trozo del codigo de arriba:
Código PHP:
$conn=pg_query("SELECT * FROM inmuebles_deudas WHERE clave='$clave'");
             
$record pg_num_rows($conn);
             
            if(
$record 0){
            
pg_query("UPDATE inmuebles_deudas SET alumbrado='$row[3]',aseo='$row[4]',pavimentacion='$row[5]',barrido='$row[6]',fiestas='$row[7]',mora='$row[8]',intereses='$row[9]',creado='now()',usercreate='$usuario',clave='$clave',periodo='$periodo' WHERE clave='$clave'") or die(pg_last_error());
            echo 
"registro actualizado";
            }else{ 
            
pg_query("INSERT INTO inmuebles_deudas(alumbrado, aseo, pavimentacion,barrido, fiestas,mora, intereses, creado, usercreate,clave,periodo) VALUES ('$row[3]','$row[4]','$row[5]','$row[6]','$row[7]','$row[8]','$row[9]','now()','$usuario','$clave','$periodo')")or die(pg_last_error());
            echo 
"registro inzertado";
            } 
mi validacion es que si en la tabla inmuebles_pagos existe al menos un registro que actualize los datos que se almacenaran en el update con la clave sea igual ala variable $clave de lo contrario que inserte los registros todo esto en un ciclo while el problema es que solo me inserta una vez y apartir de ahi todo lo actualiza he intentado de todo y aun no logro solventar este problema espero me ayuden gracias
  #2 (permalink)  
Antiguo 30/12/2014, 10:46
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 10 años, 1 mes
Puntos: 12
Respuesta: problema con validacion de registros PHP

Hola binshmikertan, esta validación la tendrías que hacer fuera del while, que si no existe la primera vez entra en el while y te va a insertar todos los registros. Si pones esta validación dentro del while va a insertar la primera vez luego ya contendrá registros e ira por el lado del update.
Código PHP:
Ver original
  1. $conn=pg_query("SELECT * FROM inmuebles_deudas WHERE clave='$clave'");
  2.              $record = pg_num_rows($conn);
  3.              
  4.             if($record > 0){

Espero te sirva.

Saludos.
__________________
http://www.sp-vision.net

Etiquetas: postgresql, programacionweb
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 07:16.