Foros del Web » Programando para Internet » PHP »

Eliminar ultimo registro

Estas en el tema de Eliminar ultimo registro en el foro de PHP en Foros del Web. Hola, tengo un problema. Tengo un boton llamado "agregar" que al hacer clic inserta nuevos datos a la base de datos. Pero tengo otro boton ...
  #1 (permalink)  
Antiguo 04/02/2008, 08:06
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Eliminar ultimo registro

Hola, tengo un problema. Tengo un boton llamado "agregar" que al hacer clic inserta nuevos datos a la base de datos. Pero tengo otro boton "eliminar" en donde quiero que al clic se borre el ultimo registro.

Yo pensé... Bueno, selecciono el ultimo registro y lo muestro en DELETE, pero me sale este error:

Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

Este es mi script:
Código PHP:
session_start();
if (isset(
$_SESSION['admin'])) {
include(
"../config.php");

$resp mysql_query("SELECT * FROM radio_progra ORDER BY id DESC LIMIT 1");
$row mysql_fetch_array($resp);

$sql mysql_query("delete from hostimage_imagenes where id='$row[id]'") or die("Error: ".mysql_error());
$res mysql_query($sql) or die("Error: ".mysql_error());
header("Location: index.php");

}else{
echo 
'Tu no estas autentificado. No puedes entrar aqui!!<br><br><a href="index.php">Volver</a>';

Desde ya gracias
  #2 (permalink)  
Antiguo 04/02/2008, 08:12
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Eliminar ultimo registro

De vez encuando te tienes que parar a mirar el codigo, fijate en estas dos lineas que he sacado de tu codigo:

$sql = mysql_query("delete from hostimage_imagenes where id='$row[id]'") or die("Error: ".mysql_error());
$res = mysql_query($sql) or die("Error: ".mysql_error());

lo ves? metes en la variable $sql la consulta, hasta aqui perfecto, pero despues, en la variable $res, haces otra consulta con el valor que te ha dado la anterior consulta? esto ya no lo entiendo, y creo que php tampoco lo entiende, fijate bien en lo que quieres hacer y soluciona ese error.

Un saludo
  #3 (permalink)  
Antiguo 04/02/2008, 08:34
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Eliminar ultimo registro

MMmmm... si entiendo, hice cualquier cosa... Te cuento, lo que quiero hacer es borrar el ultimo registro hecho. Por ejemplo:

1, 2, 3, 4 estas son las ID y quiero borrar la ultima, que en este caso es la 4.

Digamos, es simple, quiero borrar la ultima id, es decir, la id de mayor numero.
  #4 (permalink)  
Antiguo 04/02/2008, 08:59
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Eliminar ultimo registro

Lo que te quería decir esque tienes que solucionar esas lineas, según mi punto de vista esto funcionara:
Código PHP:
session_start(); 
if (isset(
$_SESSION['admin'])) { 
include(
"../config.php"); 

$resp mysql_query("SELECT * FROM radio_progra ORDER BY id DESC LIMIT 1"); 
$row mysql_fetch_array($resp); 

$sql mysql_query("delete from hostimage_imagenes where id='$row[id]'") or die("Error: ".mysql_error()); 
header("Location: index.php"); 

}else{ 
echo 
'Tu no estas autentificado. No puedes entrar aqui!!<br><br><a href="index.php">Volver</a>'

Te aviso que no lo he provado, si tienes algun fallo me avisas, y tambien te digo, en el primer select, seleccionas todo con un *, pero en este caso creo que no hace falta que lo selecciones todo, creo que poniendo un select id sobraria, ya que estas recojiendo todos los datos cuando con recojer la id sobra.
  #5 (permalink)  
Antiguo 04/02/2008, 10:29
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Eliminar ultimo registro

Ah ya entendi... tenes razon que salame que soy.... Muchas gracias amigo!
  #6 (permalink)  
Antiguo 04/02/2008, 17:58
 
Fecha de Ingreso: agosto-2007
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Eliminar ultimo registro

Hola, tambien puedes utilizar la funcion mysql_insert_id($variable de conexion con la base de datos) con la cual optienes el último id añadido, posteriormente ejecutas la sentencia delete y listo.
  #7 (permalink)  
Antiguo 04/02/2008, 19:26
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Eliminar ultimo registro

DELETE FROM tabla LIMIT 1 // borra el ultimo registro (creo) :)
__________________
Salu2!
  #8 (permalink)  
Antiguo 04/02/2008, 19:45
 
Fecha de Ingreso: mayo-2006
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: Eliminar ultimo registro

Sino probá buscar primero el ultimo ID : SELECT MAX(ID) FROM hostimage_imagenes .

y despues usas ese numero de registro en el delete
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 03:13.