Elimine el elemento de la base de datos mysql y luego regrese a la última página

Tengo una página donde enumero elementos (en este caso, empresas) que se extraen de una base de datos mysql con php.

<? 
    include('config.php');
    echo "<h3>Saved Businesses</h3>";
    echo "<ul style='list-style-type:none;'>";
    $result = mysql_query("SELECT * FROM `saved_biz` WHERE user_id = '$id'") or trigger_error(mysql_error()); 
    while($row = mysql_fetch_array($result)){

        foreach($row AS $key => $value) { $row[$key] = stripslashes($value); }
            $business_id = $row['business_id'];
            $result = mysql_query("SELECT * FROM `company` WHERE id = '$business_id'") or trigger_error(mysql_error());
            while($row = mysql_fetch_array($result)){
                $business_name = $row['name'];
            }
        echo "<li>" . nl2br( $business_name);  
        echo "<a href=deletesavedbiz.php?id={$row['id']}>Delete</a></li>"; 
        echo "</tr>"; 
    } 
    echo "</ul>"; 
?>

Si el usuario decide eliminar una de las empresas (haciendo clic en el enlace "Eliminar"), se le llevará a deletesavedbiz.php y luego, si tiene éxito, se le presentará un enlace para volver a la página profile.php que desea. /ella acababa de empezar.

<? 
    include('config.php'); 
    $id = (int) $_GET['id']; 
    mysql_query("DELETE FROM `saved_biz` WHERE `id` = '$id' ") ; 
    echo (mysql_affected_rows()) ? "Row deleted.<br /> " : "Nothing deleted.<br /> "; 
?> 

<a href='profile.php'>Back To Listing</a>

Ahora, lo que quiero hacer es eliminar el php y luego redirigir un encabezado de php a profile.php sin hacer que el usuario vuelva a hacer clic en un enlace. ¿Cómo puedo lograr esto? Además, estoy de acuerdo con que la respuesta sea javascript si no es posible o no está muy limpio en PHP.

Gracias por toda la ayuda!

preguntado el 28 de julio de 12 a las 03:07

2 Respuestas

Redirija en caso de que su consulta regrese TRUE.

function redirect($page = 'profile.php'){
 header("Location: $page");
 exit;
}


function your_query(){
    include('config.php');
    $id = (int) $_GET['id']; 
    //returns TRUE on success, FALSE otherwise
    return mysql_query("DELETE FROM `saved_biz` WHERE `id` = '$id' ") ; 
}


if ( your_query() ){
  redirerct();
} else {
  redirect('some_error_page.php');
}

Respondido 03 ago 12, 04:08

header("Location: profile.php");

Póngalo al final de su secuencia de comandos que elimina el registro.

Respondido 28 Jul 12, 03:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.