Foros del Web » Programando para Internet » PHP »

El ultimo registro insertado

Estas en el tema de El ultimo registro insertado en el foro de PHP en Foros del Web. Saludos le agradezco mucho la atencion prestada Sabe alguin como consultar el ultimo registro insertado en una tabla sin necesidad de un contador ya que ...
  #1 (permalink)  
Antiguo 31/07/2007, 13:00
 
Fecha de Ingreso: abril-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 0
El ultimo registro insertado

Saludos

le agradezco mucho la atencion prestada

Sabe alguin como consultar el ultimo registro insertado en una tabla sin necesidad de un contador ya que los reguistros llegan en desorden a la tabla.

muchas gracias por susu aportes

MAURO
  #2 (permalink)  
Antiguo 31/07/2007, 13:04
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: El ultimo registro insertado

Pues, así:
Código:
<?php
$sql = mysql_query("select * from db order by id desc limit 1",$conexion);
?>
Saludos
  #3 (permalink)  
Antiguo 31/07/2007, 13:18
 
Fecha de Ingreso: abril-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 0
Re: El ultimo registro insertado

voy a probarlo gracias


mauro
  #4 (permalink)  
Antiguo 31/07/2007, 13:42
 
Fecha de Ingreso: abril-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 0
Re: El ultimo registro insertado

saludos Carmaguedon

he provado tu codigo

asi:

rs_ultimo =$db->Execute("select id_orden_cague from orden_cargue order by id desc limit 1");
echo'hello'.$ord=$rs_ultimo->Fields('id_orden_cargue');

le realize algunos cambios tratando de adaptarlo a postgres, igual no me muestra el resutado

gracias por susu aportes
  #5 (permalink)  
Antiguo 31/07/2007, 14:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: El ultimo registro insertado

Puedes usar:
Código:
SELECT LAST_INSERT_ID() FROM `orden_cargue`
Eso te debería devolver el ultimo ID.

Saludos.
  #6 (permalink)  
Antiguo 01/08/2007, 09:12
 
Fecha de Ingreso: abril-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 0
Re: El ultimo registro insertado

GATORV muchas gracias por sus valiosos aportes pero nada no me fucional
sigos esperando mas sugerencias


gacias
  #7 (permalink)  
Antiguo 01/08/2007, 09:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: El ultimo registro insertado

Porque dices que no te funciona? Cual es el problema?

Saludos.
  #8 (permalink)  
Antiguo 01/08/2007, 09:42
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: El ultimo registro insertado

Hola, si utilizas mysql, puedes utilizar, luego del insert:
$ultimo=mysql_insert_id();
Saludos
__________________
->Aprender es un proceso que incluye el error..
  #9 (permalink)  
Antiguo 01/08/2007, 10:09
 
Fecha de Ingreso: abril-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 0
Re: El ultimo registro insertado

hola
muchas gracias por su interes, les voy a contar con mas detalles

inserto en una tabla llamada orden_cargue sus respectivos valores en un formulario llamado orden_insertar con codigo asi:

$query_rs_max = "SELECT max(id_orden_cargue) as b FROM orden_cargue";
$rs_max = $con_agro->SelectLimit($query_rs_max) or die($con_agro->ErrorMsg());
$totalRows_rs_max = $rs_max->RecordCount();

$a=$rs_max->Fields('b')+1;

$id_orden_cargue = $a;


$ins_orden_cargue->registerTrigger("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1");
$ins_orden_cargue->registerTrigger("BEFORE", "Trigger_Default_FormValidation", 10, $formValidation);
$ins_orden_cargue->registerTrigger("END", "Trigger_Default_Redirect", 99, "agro.php?pag=man_i&ord=$id_orden_cargue");
$ins_orden_cargue->registerTrigger("BEFORE", "Trigger_CheckUnique", 30);


$ins_orden_cargue->setTable("orden_cargue");
$ins_orden_cargue->addColumn("id_orden_cargue", "NUMERIC_TYPE", "POST", "id_orden_cargue", "$a");
$ins_orden_cargue->addColumn("fecha", "DATE_TYPE", "POST", "fecha");
$ins_orden_cargue->addColumn("cnc_id_cnc", "NUMERIC_TYPE", "POST", "cnc_id_cnc");
$ins_orden_cargue->addColumn("cnf_id_cnf", "NUMERIC_TYPE", "POST", "cnf_id_cnf");
$ins_orden_cargue->addColumn("peso_des", "NUMERIC_TYPE", "POST", "peso_des");
$ins_orden_cargue->addColumn("hum_des", "NUMERIC_TYPE", "POST", "hum_des");
$ins_orden_cargue->addColumn("destino_cliente_cedula", "NUMERIC_TYPE", "POST", "destino_cliente_cedula");
$ins_orden_cargue->addColumn("bodega_destino", "NUMERIC_TYPE", "POST", "bodega_destino");
$ins_orden_cargue->addColumn("origen_id_origen", "NUMERIC_TYPE", "POST", "origen");
$ins_orden_cargue->addColumn("bultos_des", "NUMERIC_TYPE", "POST", "bultos_des","0");
$ins_orden_cargue->addColumn("conductor_cedula", "STRING_TYPE", "POST", "conductor_cedula");
$ins_orden_cargue->addColumn("vehiculo_placa", "STRING_TYPE", "POST", "vehiculo_placa");
$ins_orden_cargue->addColumn("estado", "STRING_TYPE", "POST", "estado");
$ins_orden_cargue->addColumn("observaciones", "STRING_TYPE", "POST", "observaciones");

como puede ver en la linea

$ins_orden_cargue->registerTrigger("END", "Trigger_Default_Redirect", 99, "agro.php?pag=man_i&ord=$id_orden_cargue");

redirecciono la pagina a manifiesto_insertar.php llevando el dato de la orden de cargue anterior mas 1.
hasta ahi funciona corectamente ya que en manifiesto insertar llamo este valor con la siguiente linea:

$orden=$_GET['ord'];

el problema es si el reguistro insertado no es inmediatamente desdues del ultimo.
me explico si la ultima orden de cargue es la ID 23 y si le inserto la ID 38 me genera el inconveniete de pasarme la 24 a manifiesto_insertar.php

la solucion que creo posible, Disculpen si me equivoco ?? seria la de consultar el ultimo registro insertado en orden_cague y asi replazar ese ID 24 que me pasaria por el que yo deseo en este caso el ID 38.
ojala entiendaneste enredo y me puedan ayudar

MUCHAS GRACIAS
  #10 (permalink)  
Antiguo 01/08/2007, 10:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: El ultimo registro insertado

Lo que pasa es que LAST_INSERT_ID tienes que llamarlo DESPUES de que insertaste tu ultimo registro, no antes, por eso no te va a dar el resultado correcto.

La unica forma que veo es que cambies tu codigo a que llames a LAST_INSERT_ID despues de llamar a tu INSERT.

Saludos.
  #11 (permalink)  
Antiguo 01/08/2007, 10:37
 
Fecha de Ingreso: abril-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 0
Re: El ultimo registro insertado

Saludos GatorV

las lineas que me recomendaste del LAST_INSERT las coloque en manifiesto_insertar.php ahi ya se habia insertado la orden de cargue aun asi no me funciono

coloque la linea asi:
$rs_ultimo =$db->Execute("SELECT LAST_INSERT_ID() FROM orden_cargue ");
y no me retorna nada


gracias por su atencion y respuesta
  #12 (permalink)  
Antiguo 01/08/2007, 10:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: El ultimo registro insertado

Que manejador de bases de datos estas utilizando?

Saludos.
  #13 (permalink)  
Antiguo 01/08/2007, 10:41
 
Fecha de Ingreso: abril-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 0
Re: El ultimo registro insertado

estoy trabajando con postgres, PHP , Y DREAMWEBER
GRACIAS
  #14 (permalink)  
Antiguo 01/08/2007, 10:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: El ultimo registro insertado

En Postgre debes usar:
Código:
SELECT last_value FROM tabla_campo_seq
Si tu tabla se llama orden_cargue y el campo es id seria:
Código:
SELECT last_value FROM orden_cargue_id_seq
Saludos.
  #15 (permalink)  
Antiguo 01/08/2007, 11:01
 
Fecha de Ingreso: abril-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 0
Re: El ultimo registro insertado

GRACIAS GatorV

esto me funcionaria tambien en el caso de que los id de orden_cargue no esten consecutivos??
  #16 (permalink)  
Antiguo 01/08/2007, 11:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: El ultimo registro insertado

Asi es, ya que te da el ultimo valor en la secuencia de autoincrements.

Saludos.
  #17 (permalink)  
Antiguo 01/08/2007, 12:04
 
Fecha de Ingreso: abril-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 0
Re: El ultimo registro insertado

AMIGO GatorV

muchas gracias este select si funciona pero hay que tener el campo ID como serial para que resulte
muchas gracias por su aporte muy valioso gracias a este y el de todos los de este foro por sus magnificas colaboraciones,

mauro
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:58.