Foros del Web » Programando para Internet » PHP »

mostrar ultimo registro insertado

Estas en el tema de mostrar ultimo registro insertado en el foro de PHP en Foros del Web. tengo un script que graba registros, pero me gustaria que tras guardar los campos de ese registro creado, muestre por ejemplo el id, dni y ...
  #1 (permalink)  
Antiguo 23/05/2006, 07:44
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 15 años, 6 meses
Puntos: 5
mostrar ultimo registro insertado

tengo un script que graba registros, pero me gustaria que tras guardar los campos de ese registro creado, muestre por ejemplo el id, dni y nombre

probe hacer despues del insert una consulta, pero siempre y no se porque muestra los datos del registro anterior y no el que se acaba de registrar en la bbdd

¿alguna sugerencia? gracias
  #2 (permalink)  
Antiguo 23/05/2006, 08:04
Avatar de ProWebDeveloper  
Fecha de Ingreso: julio-2005
Ubicación: Maracay - Edo. Aragua
Mensajes: 117
Antigüedad: 12 años, 4 meses
Puntos: 1
De acuerdo

Hola amigo...

Probastes con el mysql_insert_id();

Esa funcion te obtiene el id del ultimo registro insertado.. claro para campos claves autonumérico...

Pruebalo y nos avisas..

Saludos...
__________________
ProWebDeveloper
  #3 (permalink)  
Antiguo 23/05/2006, 08:16
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 15 años, 6 meses
Puntos: 5
entiendo que esa funcion devuelve el valor del ultimo id, ¿pero como muestro los otros campos de ese mismo registro?

encontre este cosigo pero no entendi bien como aplicar a mi caso:

mysql_query("LOCK TABLES art WRITE");

mysql_query("INSERT INTO table (....) VALUES (....)");

$result = mysql_query("SELECT MAX(ID) AS LAST_ID FROM table");

$result = mysql_fetch_array($result);

mysql_query("UNLOCK TABLES");

echo "Last ID#" . $result[LAST_ID];
  #4 (permalink)  
Antiguo 23/05/2006, 08:23
Avatar de ProWebDeveloper  
Fecha de Ingreso: julio-2005
Ubicación: Maracay - Edo. Aragua
Mensajes: 117
Antigüedad: 12 años, 4 meses
Puntos: 1
Bueno una vez que tengas el id del ultimo registro insertado inmediatamente puedes volver a ejecutar una consulta donde te traigas los demas campos de ese registro en especifico...

No se si entendi bien... cualquier cosa me avisas..

Saludos...
__________________
ProWebDeveloper
  #5 (permalink)  
Antiguo 23/05/2006, 10:08
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 12 años, 3 meses
Puntos: 54
mysql_query("INSERT INTO tabla (...) VALUES (...)",$conexion);
$ultimo_id=mysql_insert_id();
$res=mysql_query("SELECT * FROM tabla WHERE id=$ultimo_id LIMIT 1",$conexion);
$row=mysql_featch_assoc($res);

listo ahroa en $row tienes lo ultiom insertado y listo para mostrar
saludos
  #6 (permalink)  
Antiguo 23/05/2006, 10:13
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 12 años, 1 mes
Puntos: 0
o tb

mysql_query("INSERT INTO tabla (...) VALUES (....)");
$res=mysql_query("SELECT * FROM tabla ORDER BY id DESC LIMIT 1");
  #7 (permalink)  
Antiguo 23/05/2006, 11:08
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 15 años, 6 meses
Puntos: 5
no resulto, algo mal hice

tengo lo siguiente

Código PHP:
$query ="INSERT INTO tabla VALUES ................

$ultimo_id=mysql_insert_id(); 
parece ser que la variable $ultimo_id no toma ningun valor porque despues de las lineas de antes tengo:

Código PHP:
$sql "SELECT * FROM tabla WHERE id=$ultimo_id LIMIT 1";
  
$res mysql_query($sql,$connection) or die(mysql_error());
  
$row mysql_fetch_assoc($res);
   
$total mysql_num_rows($res);
                     
echo 
"<br/><center><b>";
echo 
"Codigo :   --- ".$ultimo_id;
echo 
"<br/>";
echo 
"DNI :   --- ".$row['dni']; 
al imprimir la variable $ultimo_id sale 0 y el dni tampoco lo muestra

¿que sera?
  #8 (permalink)  
Antiguo 23/05/2006, 11:28
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 15 años, 6 meses
Puntos: 5
Cita:
Iniciado por rkpost
o tb

mysql_query("INSERT INTO tabla (...) VALUES (....)");
$res=mysql_query("SELECT * FROM tabla ORDER BY id DESC LIMIT 1");
PROBE ESTA solucion y no funciona, me muestra no el ultimo insertado sino el penultimo, ejemplo si creo un registro que le es asignado el 131, al imprimir los datos me saca los del registro 130
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 12:02.