Foros del Web » Programando para Internet » PHP »

ayuda por favor: recoger ultimo registro insertado

Estas en el tema de ayuda por favor: recoger ultimo registro insertado en el foro de PHP en Foros del Web. Hola amigos, :) ¿Alguien podría decirme si existe alguna función para recoger el último registro insertado en una BD mySQL?. Pongo un trozo del código: ...
  #1 (permalink)  
Antiguo 29/07/2002, 12:29
 
Fecha de Ingreso: julio-2002
Mensajes: 28
Antigüedad: 15 años, 4 meses
Puntos: 0
ayuda por favor: recoger ultimo registro insertado

Hola amigos, :)

¿Alguien podría decirme si existe alguna función para recoger el último registro insertado en una BD mySQL?.

Pongo un trozo del código:

$insert1= "insert into pedidos (id_pedido,id_cliente,fecha_pedido,estado_pedido,e nvio_por,condiciones) VALUES ('','".$HTTP_GET_VARS['id_cliente']."','".$fecha."','','','')";
$ist1 = mysql_db_query("miguelezhosteleria",$ins ert1);

Ahora lo que necesito es saber el valor del campo id_pedido de este último registro que acabo de insertar.

¿Cómo lo hago?.

Gracias.
Saludos. ;)

  #2 (permalink)  
Antiguo 29/07/2002, 12:43
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 15 años, 8 meses
Puntos: 2
Re: ayuda por favor: recoger ultimo registro insertado

$sql="SELECT * FROM pedidos ORDER BY id DESC LIMIT 1";
$result = mysql_query($sql,$conexio);

IF ($row= mysql_fetch_array($result)){

echo "".$row[id_pedido]."";
}

<hr size=1 color=black>
<center><font size=2 face=Tahoma>Jorge Alfonso Juarez Camargo<br><font size=1 face=Tahoma>Diseñador Web, Programador[/CODE]</center>
  #3 (permalink)  
Antiguo 29/07/2002, 15:34
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Re: ayuda por favor: recoger ultimo registro insertado

Hola,

Si el ID que quieres averiguar es un AUTO_INCREMENT, puedes usar la funcion mysql_insert_id() despues de ejecutar la consulta de insercion.
Mas info en el manual: <a href='ir.asp?http://www.php.net/manual/en/function.mysql-insert-id.php' target='_blank'>http://www.php.net/manual/en/function.my...</a>


Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 29/07/2002, 15:50
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 15 años, 8 meses
Puntos: 2
Re: ayuda por favor: recoger ultimo registro insertado

dudo mucho que el id lo tenga autoincrementable pues en su sentencia de guardado en la BD nos indica el como inserta un dato de id_pedido,, es por eso que le di ese codigo.. si no pues le daba el::

$id= mysql_insert_id();

<hr size=1 color=black>
<center><font size=2 face=Tahoma>Jorge Alfonso Juarez Camargo<br><font size=1 face=Tahoma>Diseñador Web, Programador[/CODE]</center>
  #5 (permalink)  
Antiguo 30/07/2002, 02:47
 
Fecha de Ingreso: julio-2002
Mensajes: 28
Antigüedad: 15 años, 4 meses
Puntos: 0
Re: ayuda por favor: recoger ultimo registro insertado

Hola,

El campo id_pedido sí que es auto_increment.
Así que me sirve perfectamente la función mysql_insert_id().

Gracias por vuestra ayuda.
Saludos. :)
  #6 (permalink)  
Antiguo 30/07/2002, 07:22
Avatar de manuweb  
Fecha de Ingreso: julio-2002
Mensajes: 75
Antigüedad: 15 años, 5 meses
Puntos: 10
Re: ayuda por favor: recoger ultimo registro insertado

Yo necesitaba saber cual era mi último registro insertado para mostrar el próximo (el camo es id y es autoincrement).

Terminé usando:

$sql = &quot;SELECT max(id) FROM mitabla&quot;;
$resultado = mysql_query($sql,$idconexion);
$row = mysql_fetch_array($resultado);
$ultimo= $row[0] + 1;

A mi me funciona.

Salu2
  #7 (permalink)  
Antiguo 30/07/2002, 10:06
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 15 años, 5 meses
Puntos: 0
Re: ayuda por favor: recoger ultimo registro insertado

te recuerdo que la internet es multiusuario, por eso lo mejor es utilizar lo que decian los demas el mysql_insert_id(), ya q es facil de usar y de entender

ATTE BHONOX
  #8 (permalink)  
Antiguo 30/07/2002, 12:42
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
Re: ayuda por favor: recoger ultimo registro insertado

Realmente las dos opciones son validas, solo habria que ampliar un poco, ambas estan considerando o almenos asi me lo parece, que solo un usuario estara haciendo esa operacion, si asi es no hay problema, pero si no yo recomendaria que bloquearan la tabla antes de hacer el insert, de esta forma se aseguran que el ultimo ID devuelto fue el del proceso actual y no otro que ya se haya creado antes.

Saludos!.
Mty. NL.
  #9 (permalink)  
Antiguo 30/07/2002, 13:14
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años
Puntos: 68
Re: ayuda por favor: recoger ultimo registro insertado

Un detalle:

La funcion de mySQL LAST_INSERT_ID(), devuelve el último id autoincremental generado en la base, por lo que no nos garantiza que sea justo el que nosotros acabamos de Insertar.

En cambio, mysql_insert_id($Conexion) contiene la lógica suficiente, para lograr el último id autoincremental generado para NUESTRA Conexión, siempre y cuando nosotros se lo pasemos como parámetro.

saludos.

<hr><font size=2 face=verdana>- Pablo Rigazzi (<img src=http://www.fantabuloso.com/iB_html/non-cgi/emoticons/bullwhip.gif align=absmiddle>)[/CODE]
<font size=1 color=#333333>Visita <a href=http://www.web-studio.com.ar>Web Studio</a>[/CODE]
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 16:10.