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

ayuda con nextval y currval de postgres

Estas en el tema de ayuda con nextval y currval de postgres en el foro de PostgreSQL en Foros del Web. tengo este codigo en PHP: $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', ...
  #1 (permalink)  
Antiguo 25/02/2010, 13:42
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
ayuda con nextval y currval de postgres

tengo este codigo en PHP:

$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"];

el tema es lo siguiente, en esta parte no se de donde sale este campo: as id_prematrimonio_asignado";

// Se obtiene el id_persona asignado
$consulta = "select currval('sec_cursillo_prematrimoniales') as id_prematrimonio_asignado";

se que currval obtiene el ultimo id asignado, pero no deberia entonces referirse a id_prematrimonio?

agradeceria cualquier ayuda...
  #2 (permalink)  
Antiguo 25/02/2010, 15:01
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: ayuda con nextval y currval de postgres

No entiendo en que tienes dudas.

Cuando haces un as id_prematrimonio_asignado le estas dando un alias al campo que te devuelve el currval para ser utilizado en php. Este alias lo puedes llmar como quieras.

as id_patrimonio, as id_pat etc etc.

saludos rodrigo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 25/02/2010, 18:08
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ayuda con nextval y currval de postgres

que tal amigo, thanks por responder

este el php completo

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 = "'".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"]."'";
/*$estado_alumno = ($_POST["estado_alumno"] == null) ? 'null' : "'".$_POST["estado_alumno"]."'";
$religion_alumno = ($_POST["religion_alumno"] == null) ? 'null' : "'".$_POST["religion_alumno"]."'";
$nro_hijos_alumno = ($_POST["nro_hijos_alumno"] == null) ? 'null' : "'".$_POST["nro_hijos_alumno"]."'";
$direccion_alumno = ($_POST["direccion_alumno"] == null) ? 'null' : "'".$_POST["direccion_alumno"]."'";
$telefono_alumno = ($_POST["telefono_alumno"] == null) ? 'null' : "'".$_POST["telefono_alumno"]."'";
$trabajo_alumno = ($_POST["trabajo_alumno"] == null) ? 'null' : "'".$_POST["trabajo_alumno"]."'";
$tel_trabajo_alumno = ($_POST["tel_trabajo_alumno"] == null) ? 'null' : "'".$_POST["tel_trabajo_alumno"]."'";
$cargo_alumno = ($_POST["cargo_alumno"] == null) ? 'null' : "'".$_POST["cargo_alumno"]."'";*/
$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', fecha_emision_prematrimonio='$fecha_emision_premat rimonio' 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);
?>

estoy usando EXTJS, al insertar un nuevo registro debe devolver como respuesta el id nuevo, pero no devuelve...
  #4 (permalink)  
Antiguo 25/02/2010, 20:49
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: ayuda con nextval y currval de postgres

Eso ya debe ser un pfoblema de php y no de postgres.

pregunta en el foro de php.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 26/02/2010, 00:00
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ayuda con nextval y currval de postgres

correcto amigo, ya lo solucione, el tema estaba en el php.

se agradece.

Etiquetas: Ninguno
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 06:04.