Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

insert en postgres

Estas en el tema de insert en postgres en el foro de PostgreSQL en Foros del Web. El tema es asi, tengo esta tabla en postgres: Create table "cursillo_prematrimoniales" ( "id_prematrimonio" Integer NOT NULL, "id_usuario" Integer NOT NULL, "sr_prematrimonio" Varchar(200), "sra_prematrimonio" Varchar(200), ...
  #1 (permalink)  
Antiguo 16/03/2010, 16:12
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
insert en postgres

El tema es asi, tengo esta tabla en postgres:

Create table "cursillo_prematrimoniales"
(
"id_prematrimonio" Integer NOT NULL,
"id_usuario" Integer NOT NULL,
"sr_prematrimonio" Varchar(200),
"sra_prematrimonio" Varchar(200),
"parroquia_prematrimonio" Varchar(200),
"desde_prematrimonio" Date,
"hasta_prematrimonio" Date,
"sr_guia_prematrimonio" Varchar(200),
"sra_guia_prematrimonio" Varchar(200),
"fecha_emision_prematrimonio" Timestamp,
primary key ("id_prematrimonio")
);

Y luego tengo este codigo php:

<?php
//session_start();
require ('../include/generic_lib.php');
//$mi_sesion = unserialize($_SESSION['mi_sesion']);
//$id_usuario = $mi_sesion->usuario_id;
$obj_db = new db();

$id_prematrimonio = $_POST["id_prematrimonio"];
$sr_prematrimonio = $_POST["sr_prematrimonio"];
$sra_prematrimonio = $_POST["sra_prematrimonio"];
$parroquia_prematrimonio = $_POST["parroquia_prematrimonio"];
$desde_prematrimonio = $_POST["desde_prematrimonio"];
$hasta_prematrimonio = $_POST["hasta_prematrimonio"];
$sr_guia_prematrimonio = $_POST["sr_guia_prematrimonio"];
$sra_guia_prematrimonio = $_POST["sra_guia_prematrimonio"];
$fecha_emision_prematrimonio = $_POST["fecha_emision_prematrimonio"];

/*$id_prematrimonio = $_POST["id_prematrimonio"];
$sr_prematrimonio = "'".strtoupper($_POST["sr_prematrimonio"])."'";
$sra_prematrimonio = "'".strtoupper($_POST["sra_prematrimonio"])."'";
$parroquia_prematrimonio = ($_POST["parroquia_prematrimonio"] == null) ? 'null' : "'".$_POST["parroquia_prematrimonio"]."'";
$desde_prematrimonio = ($_POST["desde_prematrimonio"] == null) ? 'null' : "'".$_POST["desde_prematrimonio"]."'";
$hasta_prematrimonio = ($_POST["hasta_prematrimonio"] == null) ? 'null' : "'".$_POST["hasta_prematrimonio"]."'";
$sr_guia_prematrimonio = ($_POST["sr_guia_prematrimonio"] == null) ? 'null' : "'".$_POST["sr_guia_prematrimonio"]."'";
$sra_guia_prematrimonio = ($_POST["sra_guia_prematrimonio"] == null) ? 'null' : "'".$_POST["sra_guia_prematrimonio"]."'";
$fecha_emision_prematrimonio = ($_POST["fecha_emision_prematrimonio"] == null) ? 'null' : "'".$_POST["fecha_emision_prematrimonio"]."'";*/

if($id_prematrimonio!= 0) {//Actualización

$consulta_princ = "UPDATE cursillo_prematrimoniales SET sr_prematrimonio='$sr_prematrimonio', sra_prematrimonio='$sra_prematrimonio', parroquia_prematrimonio='$parroquia_prematrimonio' , desde_prematrimonio='$desde_prematrimonio', hasta_prematrimonio='$hasta_prematrimonio', sr_guia_prematrimonio='$sr_guia_prematrimonio', sra_guia_prematrimonio='$sra_guia_prematrimonio' WHERE id_prematrimonio='$id_prematrimonio'";
$obj_db->consulta($consulta_princ);
}
else {// Insertamos el nuevo alumno
$consulta_princ = "INSERT INTO cursillo_prematrimoniales(id_prematrimonio, id_usuario, sr_prematrimonio, sra_prematrimonio, parroquia_prematrimonio, desde_prematrimonio, hasta_prematrimonio, sr_guia_prematrimonio, sra_guia_prematrimonio, fecha_emision_prematrimonio) VALUES (nextval('sec_cursillo_prematrimoniales'), '1', '$sr_prematrimonio', '$sra_prematrimonio', '$parroquia_prematrimonio', '$desde_prematrimonio', '$hasta_prematrimonio', '$sr_guia_prematrimonio', '$sra_guia_prematrimonio', '$fecha_emision_prematrimonio')";
$obj_db->consulta($consulta_princ);
echo $consulta;
// Se obtiene el id_persona asignado
$consulta = "select currval('sec_cursillo_prematrimoniales') as id_prematrimonio_asignado";
$obj_db->consulta($consulta);
$linea = $obj_db->tomar_fila();
$id_prematrimonio = $linea["id_prematrimonio_asignado"];
}

if($obj_db->resultado)
$respuesta = array("success"=>true, "id_prematrimonio"=>$id_prematrimonio, "consulta"=>$consulta_princ);
else
$respuesta = array("success"=>false, "id_prematrimonio"=>$id_prematrimonio, "consulta"=>$consulta_princ);

echo json_encode($respuesta);
?>

El problema:

si hago un insert usando esto:

$id_prematrimonio = $_POST["id_prematrimonio"];
$sr_prematrimonio = $_POST["sr_prematrimonio"];
$sra_prematrimonio = $_POST["sra_prematrimonio"];
$parroquia_prematrimonio = $_POST["parroquia_prematrimonio"];
$desde_prematrimonio = $_POST["desde_prematrimonio"];
$hasta_prematrimonio = $_POST["hasta_prematrimonio"];
$sr_guia_prematrimonio = $_POST["sr_guia_prematrimonio"];
$sra_guia_prematrimonio = $_POST["sra_guia_prematrimonio"];
$fecha_emision_prematrimonio = $_POST["fecha_emision_prematrimonio"];

me inserta sin problemas, con excepcion de que me obliga a insertar los campo de fechas, desde_prematrimonio y hasta_prematrimonio siendo que esos campos no los pongo como obligatorios.

pero si utilizo esto:

/*$id_prematrimonio = $_POST["id_prematrimonio"];
$sr_prematrimonio = "'".strtoupper($_POST["sr_prematrimonio"])."'";
$sra_prematrimonio = "'".strtoupper($_POST["sra_prematrimonio"])."'";
$parroquia_prematrimonio = ($_POST["parroquia_prematrimonio"] == null) ? 'null' : "'".$_POST["parroquia_prematrimonio"]."'";
$desde_prematrimonio = ($_POST["desde_prematrimonio"] == null) ? 'null' : "'".$_POST["desde_prematrimonio"]."'";
$hasta_prematrimonio = ($_POST["hasta_prematrimonio"] == null) ? 'null' : "'".$_POST["hasta_prematrimonio"]."'";
$sr_guia_prematrimonio = ($_POST["sr_guia_prematrimonio"] == null) ? 'null' : "'".$_POST["sr_guia_prematrimonio"]."'";
$sra_guia_prematrimonio = ($_POST["sra_guia_prematrimonio"] == null) ? 'null' : "'".$_POST["sra_guia_prematrimonio"]."'";
$fecha_emision_prematrimonio = ($_POST["fecha_emision_prematrimonio"] == null) ? 'null' : "'".$_POST["fecha_emision_prematrimonio"]."'";*/

no me inserta nada, reparen que esta comentado incluso, me parece que el campo tipo date de postgres no acepta null como valor o algo asi, estoy usando la libreria EXTJS, ya revise el javascript y esta todo bien, cualquier ayuda seria bienvenida, gracias de antemano...
  #2 (permalink)  
Antiguo 16/03/2010, 16:26
 
Fecha de Ingreso: septiembre-2008
Mensajes: 75
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: insert en postgres

hola si no quieres insertar campos q no son obligatorios quitalos de la lista a la hora de insertar

te quedaria algo como esto

INSERT INTO cursillo_prematrimoniales(id_prematrimonio, id_usuario, sr_prematrimonio, sra_prematrimonio, parroquia_prematrimonio, sr_guia_prematrimonio, sra_guia_prematrimonio, fecha_emision_prematrimonio) VALUES (nextval('sec_cursillo_prematrimoniales'), '1', '$sr_prematrimonio', '$sra_prematrimonio', '$parroquia_prematrimonio', '$sr_guia_prematrimonio', '$sra_guia_prematrimonio', '$fecha_emision_prematrimonio')";

un consejo el foro es de postgres no mezclemos otros temas (php)

atte
  #3 (permalink)  
Antiguo 16/03/2010, 17:50
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: insert en postgres

el tema es que esos campos no deberian ser obligatorios, ademas no me estas dando soluciones...
  #4 (permalink)  
Antiguo 16/03/2010, 19:31
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: insert en postgres

Cita:
el tema es que esos campos no deberian ser obligatorios, ademas no me estas dando soluciones...
Aca no se dan soluciones de php.

Si tienes dudas de postgres replantea tu pregunta... y como dice edwinsp no pongas codigo php. Para eso hay uno foro indicado.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: insert
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 08:28.