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  
