Foros del Web » Programando para Internet » PHP »

Mostrar ultimo registro de tabla (email)

Estas en el tema de Mostrar ultimo registro de tabla (email) en el foro de PHP en Foros del Web. Hola, necesito imprimir(mostrar) el ultimo registro de una tabla (email) en la tabla tengo asignado un id para cada email que se asigna por autoincremento ...
  #1 (permalink)  
Antiguo 15/12/2008, 12:22
Diegotopet
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Mostrar ultimo registro de tabla (email)

Hola, necesito imprimir(mostrar) el ultimo registro de una tabla (email) en la tabla tengo asignado un id para cada email que se asigna por autoincremento

tengo este codigo pero no me resulta, alguien me puede ayudar a corregir el código. o cambiarlo por otro que funcione

Nota: mi base da datos se llama(advent), y mi tabla se llama (subscribe_A)
Este es el codigo.

Código PHP:
<?php include("db.php"); // este archivo contendrá nuestros datos de conexión a MySQL ?>
<?php
mysql_query
("INSERT INTO subscrine_A (id, email VALUES ('$id', '$email')"); 
$ultimo_id=mysql_insert_id();
$res=mysql_query("SELECT * FROM subscribe_A WHERE id=$ultimo_id LIMIT 1");
$row mysql_fetch_assoc($res);

echo 
"Email : ".$row;  
?>
  #2 (permalink)  
Antiguo 15/12/2008, 12:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Mostrar ultimo registro de tabla (email)

Cuando dices "no me resulta" a que te refieres? Mensajes de error? Que ves en pantalla y que esperas ver?

Saludos.
  #3 (permalink)  
Antiguo 15/12/2008, 12:36
Diegotopet
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar ultimo registro de tabla (email)

no muestra nada. y espero que me muestre el ultimo email que fue ingresado.
  #4 (permalink)  
Antiguo 15/12/2008, 12:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Mostrar ultimo registro de tabla (email)

Pues imprime $row['email'] no solamente $row.

Saludos.
  #5 (permalink)  
Antiguo 15/12/2008, 12:51
Diegotopet
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar ultimo registro de tabla (email)

ya puse como me indicaste pero no. Este es el codigo.

<?php include("../../db.php"); // este archivo contendrá nuestros datos de conexión a MySQL ?>
<?php
mysql_query("INSERT INTO subscrine_A (id, email VALUES ('$id', '$email')");
$ultimo_id=mysql_insert_id();
$res=mysql_query("SELECT * FROM subscribe_A WHERE id=$ultimo_id LIMIT 1");
$row = mysql_fetch_assoc($res);

echo "Email : ".$row['email'];
?>
  #6 (permalink)  
Antiguo 15/12/2008, 13:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Mostrar ultimo registro de tabla (email)

Agrega un or die( mysql_error() ); en tus conultas para que veas que problema potencial te puede estar dando.

Saludos.
  #7 (permalink)  
Antiguo 15/12/2008, 14:59
Diegotopet
Invitado
 
Mensajes: n/a
Puntos:
Pregunta

Listo ya lo puse y corregí algunos errores de dedo que tenia, pero ahora solo me escribe el numero "1", que no es lo que quiero.

Que sugieres o que hace falta hacer, este es el código:

Código PHP:
<?php include("../../db.php"); // este archivo contendrá nuestros datos de conexión a MySQL ?>
<?php
mysql_query 
("INSERT INTO subscribe_A (id, email) VALUES('.$id', '.$email')") or die (mysql_error());
$ultimo_id=mysql_insert_id() or die (mysql_error());
$res=mysql_query("SELECT * FROM subscribe_A WHERE id=$ultimo_id LIMIT 1") or die (mysql_error());
$row mysql_fetch_assoc($res) or die (mysql_error());
echo 
"Email : ".$row['email'] or die (mysql_error());
?>
de hecho ahora que reviso mi base de datos, por cada ves que abro este archivo me crea una entrada nueva en mi base de datos, que solo contiene un punto en la parte de email

Última edición por GatorV; 15/12/2008 a las 15:20
  #8 (permalink)  
Antiguo 15/12/2008, 15:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Mostrar ultimo registro de tabla (email)

No necesitas el or die en todo ese código, sinceramente, si tu nivel de PHP es tan basico, te recomiendo leas un buen libro, no se necesita mucho aprender la sintaxis basica de PHP.

Si te das cuenta no especificas de donde obtienes los valores de $id y $email, de ahi viene la razon de tu problema, te dejo una referencia: http://www.php.net/variables.external

Saludos.
  #9 (permalink)  
Antiguo 15/12/2008, 15:23
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 4 meses
Puntos: 105
Respuesta: Mostrar ultimo registro de tabla (email)

para que son los puntos....

mysql_query ("INSERT INTO subscribe_A (id, email) VALUES('.$id', '.$email')")

asi deberia ser:
mysql_query ("INSERT INTO subscribe_A (id, email) VALUES('$id', '$email')")


y para que quieres el id, si luego haces un select al mismo id y recoges su correo.... que no es lo mismo hacer:
Código PHP:
<?php include("../../db.php"); // este archivo contendrá nuestros datos de conexión a MySQL ?> 
<?php 
mysql_query 
("INSERT INTO subscribe_A (id, email) VALUES('.$id', '.$email')") or die (mysql_error()); 
echo 
"Email : $email ";
?>
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #10 (permalink)  
Antiguo 15/12/2008, 16:00
Diegotopet
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Respuesta: Mostrar ultimo registro de tabla (email)

lo de los puntos ya lo había identificado y corregido, y los datos no los tomare de ningún formulario, los tomare de mi base de datos, o acaso tiene que ser por fuerza de un formulario?
  #11 (permalink)  
Antiguo 15/12/2008, 16:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Mostrar ultimo registro de tabla (email)

Pues si los vas a tomar de tu base de datos, entonces para que la consulta del tipo INSERT?, recuerda que INSERT es para insertar datos, asi como SELECT para seleccionarlos.

Saludos.
  #12 (permalink)  
Antiguo 15/12/2008, 16:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Mostrar ultimo registro de tabla (email)

Entonces no hagas un insert, simplemente lee el ultimo registro ingresado:

Código:
$query = "SELECT * FROM suscribe_A ORDER BY id DESC LIMIT 1";
$res = mysql_query($query) or die('Error en la consulta.');
if(mysql_num_rows($res) == 1) {
    list($id, $email) = mysql_fetch_row($res);
}
__________________
- León, Guanajuato
- GV-Foto
  #13 (permalink)  
Antiguo 15/12/2008, 16:34
Diegotopet
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar ultimo registro de tabla (email)

y como en este caso cual es el que voy a imprimir para que me aparesca el ultimo email ingresado?

disculpen, pero si soy super principiante
  #14 (permalink)  
Antiguo 15/12/2008, 16:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Mostrar ultimo registro de tabla (email)

Usa el codigo que te dejo Triby, con ese puedes seleccionar el ultimo id ingresado.

Saludos.
  #15 (permalink)  
Antiguo 15/12/2008, 16:45
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Respuesta: Mostrar ultimo registro de tabla (email)

Hola Diegotopet...

Te recomiendo, antes de utilizar un motor de DB, al menos leas un manual...

Para tu duda, seleccionas el máximo registro (que sería el último ingresado):
Código mysql:
Ver original
  1. select * from suscribe_A where id_suscribe_A=(select max(id_suscribe_A) from suscribe_A);

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #16 (permalink)  
Antiguo 15/12/2008, 17:06
Diegotopet
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: Mostrar ultimo registro de tabla (email)

Muchas gracias a todos, ya pude después de mil intentos y analizar mas y mas. como código final me quedo el siguiente:

Código PHP:
<?php include("db.php"); // este archivo contendrá nuestros datos de conexión a MySQL ?>
<?php
$query 
"SELECT * FROM subscribe_A ORDER BY id DESC LIMIT 1";
$res mysql_query($query) or die(mysql_error());
if(
mysql_num_rows($res) == 1) {
    list(
$nombre$apellido$email$boletin$id) = mysql_fetch_row($res);
}
echo 
"Email : $email"
?>
En el cual solo muestra el ultimo email que fue ingresado.
  #17 (permalink)  
Antiguo 25/05/2010, 12:18
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Mostrar ultimo registro de tabla (email)

Gracias GATORV "tenia la misma inquietud y me quedo super claro".
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 14:10.