Foros del Web » Programando para Internet » PHP »

eliminar y volver a la direccion anterior

Estas en el tema de eliminar y volver a la direccion anterior en el foro de PHP en Foros del Web. hola! no consigo que al eliminar un registro de una bd, pasada la id por GET, me vuelva a la pagina anterior que tenia variable ...
  #1 (permalink)  
Antiguo 09/03/2009, 03:46
 
Fecha de Ingreso: febrero-2009
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
eliminar y volver a la direccion anterior

hola!
no consigo que al eliminar un registro de una bd, pasada la id por GET, me vuelva a la pagina anterior que tenia variable GET del espacio que contenia ese registro.
ahí va el codigo de la pagina de eliminación:

if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
$deleteSQL = sprintf("DELETE FROM espacios WHERE Id=%s",
GetSQLValueString($_GET['id'], "int"));

mysql_select_db($database_blog, $blog);
$Result1 = mysql_query($deleteSQL, $blog) or die(mysql_error());

$deleteGoTo = "privado/tuespacio/espaciosusuario.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $deleteGoTo));
}

$colname_espacios = "-1";
if (isset($_GET['id'])) {
$colname_espacios = $_GET['id'];
}
mysql_select_db($database_blog, $blog);
$query_espacios = sprintf("SELECT * FROM espacios WHERE Id = %s", GetSQLValueString($colname_espacios, "int"));
$espacios = mysql_query($query_espacios, $blog) or die(mysql_error());
$row_espacios = mysql_fetch_assoc($espacios);
$totalRows_espacios = mysql_num_rows($espacios);
?>

esto es lo que me hace dreamweaver. no se pq me vuelve a la direccion anterior con el numero de id del registro eliminado y no del espacio donde estaba ese registro(o porlomenos sin ninguna variable)
entiendo que la %s es el registro a eliminar no? pero no se pq lo pone en el header a volver. he intentado sacar una variable mas de la conexion (AND Id_usuario = ¿?-cualquier variable aqui me da error) y meterla en el header en vez del %s, pero me da siempre algun error
se lo que debo hacer, pero no se exactamente como ya que me pierdo en el codigo de las variables $deletegoto

he aqui mi problema. si alguien puede echarme un cable o indicarme la direccion a seguir le staria muy agradecido
merci
  #2 (permalink)  
Antiguo 09/03/2009, 09:05
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: eliminar y volver a la direccion anterior

Tienes que modificar esta linea: $deleteGoTo = "privado/tuespacio/espaciosusuario.php";

Saludos
  #3 (permalink)  
Antiguo 09/03/2009, 12:03
 
Fecha de Ingreso: febrero-2009
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: eliminar y volver a la direccion anterior

eso lo se, pero necesito que me vaya a esa linea + ?id= $del espacio que contenia todos los registros de los que he eliminado uno. Es decir, volver al mismo espacio pero faltando el registro eliminado

estos registros tienen id_espacio (del espacio q los contiene) que saco en la pagina de eliminacion con una consulta a la bd, pero no se como meterlo aqui:

$deleteGoTo = "privado_tuespacio_espaciosusuario.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $deleteGoTo));
}

me pierdo entre tantas variable y simbolos. hace poco que toco la programacion y debo estudirme el lexico de php

sigo probando cosas q se me ocurren pero no doy con la respuesta
  #4 (permalink)  
Antiguo 09/03/2009, 12:17
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: eliminar y volver a la direccion anterior

Pues puedes hacer dos cosas, la primera es pasar por GET el id que estabas viendo al igual que el id que quieres borrar, y entonces lo recuperas y lo pasas en el header().

Otra opción es que antes de llamar a DELETE, hagas un SELECT rescates el id al que pertenece y hagas el redirect.

Saludos
  #5 (permalink)  
Antiguo 09/03/2009, 12:29
 
Fecha de Ingreso: febrero-2009
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: eliminar y volver a la direccion anterior

ok. ya lo solucioné. mas o menos como me indicas.

gracias por las indicaciones

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 14:07.