Foros del Web » Programando para Internet » PHP »

Eliminar registros de una tabla consultada de mysql

Estas en el tema de Eliminar registros de una tabla consultada de mysql en el foro de PHP en Foros del Web. Hola a todos desde ayer estoy tratando de terminar este proyecto y un colaborador de la web me brindó una buena guía, más me falta ...
  #1 (permalink)  
Antiguo 18/07/2014, 07:27
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Eliminar registros de una tabla consultada de mysql

Hola a todos desde ayer estoy tratando de terminar este proyecto y un colaborador de la web me brindó una buena guía, más me falta una parte pues mi intención es poder eliminar de la tabla que listo por una consulta mysql los datos que desee de esta... osea la fila de la empresa que desee de ahí... este es el código de mi pagina
<?php include("seguridad.php");?>
<?php
include("conexion.php");
?>

<!DOCTYPE html>
<html>
<head>
<title>Clientes</title>
<meta charset="utf-8">
<style type="text/css">
body {
background-color: #E2E2E2;
}
</style>
</head>
<body>
<header>
<h2><center>
INGRESO Y CONSULTAS DE CLIENTES<br>
Usuario: <? echo $_SESSION["usuarioactual"]; ?>
</center></h2>
</header>
<div id="leo">
<section id="leon">

<section id="leone">


<a href="logout.php"></a><br><a href="proyecto.php"></a></br>


<?php
$var="";
$var1="";
$var2="";
$var3="";
$var4="";
$var5="";
$var6="";


if(isset($_POST["btn1"])){
$btn=$_POST["btn1"];
$bus=$_POST["txtbus"];
if($btn=="Buscar"){

$sql="select * from empresas where idempresa='$bus'";
$cs=mysql_query($sql,$cn);
while($resul=mysql_fetch_array($cs)){
$var=$resul[0];
$var1=$resul[1];
$var2=$resul[2];
$var3=$resul[3];
$var4=$resul[4];
$var5=$resul[5];
$var6=$resul[6];


}


}

if($btn=="Agregar"){
$nitemp=$_POST["txtnitemp"];
$nomemp=$_POST["txtnomemp"];
$dir=$_POST["txtdir"];
$tel=$_POST["txttel"];
$email=$_POST["txtemail"];
$nomcon=$_POST["txtnomcon"];
$telcon=$_POST["txttelcon"];


$sql="insert into empresas values ('$nitemp','$nomemp','$dir','$tel','$email','$nomc on','$telcon')";

$cs=mysql_query($sql,$cn);
echo "<script> alert('Se inserto correctamente');</script>";
}
if($btn=="Actualizar"){
$nitemp=$_POST["txtnitemp"];
$nomemp=$_POST["txtnomemp"];
$dir=$_POST["txtdir"];
$tel=$_POST["txttel"];
$email=$_POST["txtemail"];
$nomcon=$_POST["txtnomcon"];
$telcon=$_POST["txttelcon"];



$sql="update empresas set nomempresa='$nomemp',direccion='$dir',telefono='$t el',email='$email',nomcontacto='$nomcon',telcontac to='$telcon'where idempresa='$nitemp'";

$cs=mysql_query($sql,$cn);
echo "<script> alert('Se actualizo correctamente');</script>";
}


}

?>
<form name="fe" action="" method="post">
<center>
<table border="2">
<tr>
<td><input type="submit" name="btn1" value="Listar Clientes"/></td>
<td><a href="empresas.php"><img src="cliente.png" width="107" height="23"></a></td>
</tr>


<tr align="center">
<td colspan="2"><a href="pedidos.php"></a><a href="proyecto.php"><img src="regresar.PNG" width="68" height="26"></a></td>
</tr>
<tr align="center">
<td colspan="2"><a href="logout.php"><img src="sesion.PNG" width="97" height="24"></a></td></tr>
</table>
</center>
<br />
<hr>
</form>
<br />



<?php
if(isset($_POST["btn1"])){
$btn=$_POST["btn1"];

if($btn=="Listar Clientes"){

$sql="select * from empresas";
$cs=mysql_query($sql,$cn);
echo"<center>
<table border='3'id='tabla'>
<tr>
<td>Nit Empresa</td>
<td>Nombre Empresa</td>
<td>Direccion</td>
<td>Telefono</td>
<td>Email</td>
<td>Nombre Contacto</td>
<td>Telefono Contacto</td>
<td>Funciones</td>
</tr>";
while($resul=mysql_fetch_array($cs)){
$var=$resul[0];
$var1=$resul[1];
$var2=$resul[2];
$var3=$resul[3];
$var4=$resul[4];
$var5=$resul[5];
$var6=$resul[6];

echo "<tr>
<td>$var</td>
<td>$var1</td>
<td>$var2</td>
<td>$var3</td>
<td>$var4</td>
<td>$var5</td>
<td>$var6</td>
<td>
<form action='procesosrequeridos.php' method='POST'>
<a href='editarempresa.php?nit=$var&empresa=$var1&dir eccion=$var2&tel=$var3&email=$var4&nomcon=$var5&te lcon=$var6'><img src='editar.PNG' width='87' height='24'></a>
<input type='submit' name='btn1' value='Eliminar'/>
<input type='hidden' name='id' value=".$var.">
</form>
</td>
</tr>";
}

echo "</table>
</center>";

}
}

?>
(omitan la funcion actualizar y agregar que los deje alli mas no los uso)
__________________________________________________ _______________
y este es el php que llamo supuestamente con el boton eliminar:
<?php include("conexion.php");?>
<?php
if(isset($_POST["btn1"])){
$btn=$_POST["btn1"];
if($btn=='Eliminar'){
$sql="delete from empresas where idempresa='$var'";
mysql_query($sql);
}header("Location:indexempresa.php");
echo "<script> alert('Registro eliminado correctamente');</script>";
}
?>
(pero lo unico que hace es refrescar la pagina... le agradezco su ayuda!)
  #2 (permalink)  
Antiguo 18/07/2014, 08:16
Avatar de eccorposse  
Fecha de Ingreso: diciembre-2009
Ubicación: Beijing
Mensajes: 69
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

No se si realmente necesitas redireccionar por lo que te dejo dos variantes.

1. Te dira Si se elimino o no, sin redireccionar.

Código PHP:
Ver original
  1. <?php include("conexion.php"); ?>
  2. <?php
  3. if (isset($_POST["btn1"])) {
  4.     $btn=$_POST["btn1"];
  5.     if($btn=='Eliminar') {
  6.         $sql="DELETE FROM empresas WHERE idempresa='$var'";
  7.         mysql_query($sql);
  8.         echo "<script> alert('Registro eliminado correctamente');</script>";
  9.     }
  10.     else {
  11.         echo "<script> alert('El registro no pudo ser eliminado');</script>";
  12.     }
  13. }
  14. ?>

2. Redireccionara en caso de que se elimine.

Código PHP:
Ver original
  1. <?php include("conexion.php"); ?>
  2. <?php
  3. if (isset($_POST["btn1"])) {
  4.     $btn=$_POST["btn1"];
  5.     if($btn=='Eliminar') {
  6.         $sql="DELETE FROM empresas WHERE idempresa='$var'";
  7.         mysql_query($sql);
  8.         echo "<script> alert('Registro eliminado correctamente');</script>";
  9.         header("Location:indexempresa.php");
  10.     }
  11.     else {
  12.         echo "<script> alert('El registro no pudo ser eliminado');</script>";
  13.     }
  14. }
  15. ?>
  #3 (permalink)  
Antiguo 18/07/2014, 08:46
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

Warning: Cannot modify header information - headers already sent by (output started.../procesosrequeridos.php on line 8.
me aparece este error y consulte y según esto se debe a que pueden haber espacio entre los cierres de php(?>)pero nada... sigo intentando a ver pero mientras tu que crees que podría ser... gracias por la colaboracion
  #4 (permalink)  
Antiguo 18/07/2014, 08:52
Avatar de eccorposse  
Fecha de Ingreso: diciembre-2009
Ubicación: Beijing
Mensajes: 69
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

Eso indica que los encabezados ya fueron enviados, en otras palabras debes tener algun que otro header() por alli. Segun tu respuesta hay otro header() en .../procesosrequeridos.php. Podrias poner algo de codigo de ese archivo? donde esta el header()
  #5 (permalink)  
Antiguo 18/07/2014, 08:57
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

El códgio es este ultimo que se redirecciona que me guiaste... asi se llama ese php procesosrequeridos... el header del que habla es el de la linea 9 de esa linea que colocaste...
  #6 (permalink)  
Antiguo 18/07/2014, 09:19
Avatar de eccorposse  
Fecha de Ingreso: diciembre-2009
Ubicación: Beijing
Mensajes: 69
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

Tienes algun header() en indexempresa.php?
Nota que redireccionar no imprimira el echo que tienes en procesosrequeridos.php

Código PHP:
Ver original
  1. echo "<script> alert('Registro eliminado correctamente');</script>";

Última edición por eccorposse; 18/07/2014 a las 09:40
  #7 (permalink)  
Antiguo 18/07/2014, 09:48
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

no... el header a que se refiere el error indica claramente que es en ese php (procesosrequeridos)... y sigo consultando y encontre que es por la codificacion que debe pasar de utf08 a ansi... que opinas que crees?... me parece muy extraño que pase esto...
  #8 (permalink)  
Antiguo 18/07/2014, 10:22
Avatar de eccorposse  
Fecha de Ingreso: diciembre-2009
Ubicación: Beijing
Mensajes: 69
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

Bueno yo probe el codigo y funciona perfectamente. Para que no quedes en dudas pon en el charset de tu pagina UTF-8, aunque no creo que sea el problema.
  #9 (permalink)  
Antiguo 18/07/2014, 10:38
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

Nada... lo extraño es subidos los archivos al host sale eso... mientras se prueba en sitios para esto sale todo bien... igual gracias por la guia ójala pueda ver que pasa...
  #10 (permalink)  
Antiguo 18/07/2014, 10:48
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

aparte el error sale por los "echo"... y cuando se los quito se efectua la funcion del boton pero a la final no borra el dato seleccionado en la tabla...
  #11 (permalink)  
Antiguo 18/07/2014, 10:59
Avatar de eccorposse  
Fecha de Ingreso: diciembre-2009
Ubicación: Beijing
Mensajes: 69
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

Mira si te dice que los encabezados ya fueron enviados por procesosrequeridos.php es porque hay otro encabezado en algunas de tus paginas que van incluidas o no en indexempresa.php, si ese no es el caso, planteate la estructura de la pagina.

Mira esto es lo que hice con tu script:

PAGINA A.PHP
Código PHP:
Ver original
  1. <?php include("conexion.php"); ?>
  2. <?php
  3. if (isset($_POST["btn1"])) {
  4.     $btn=$_POST["btn1"];
  5.     if($btn=='Eliminar') {
  6.         $sql="DELETE FROM empresas WHERE idempresa='$var'";
  7.         mysql_query($sql);
  8.         echo "<script> alert('Registro eliminado correctamente');</script>";
  9.     }
  10.     else {
  11.         echo "<script> alert('El registro no pudo ser eliminado');</script>";
  12.     }
  13. }
  14. ?>

PAGINA B.PHP
Código PHP:
Ver original
  1. <form  action="a.php" method="post">
  2. <input name="btn1" type="submit" value="Eliminar" />
  3. </form>

PAGINA C.PHP
Código HTML:
Ver original
  1. Hola

Lo siento te estaba respondiendo otra vez, entonces deberias revisar bien que archivo en el host esta enviando el header() justamente despues que procesosrequeridos.php haga lo suyo, para localizarlo investiga dentro de indexempresa.php y mira si los includes que tienes envian algun header().
  #12 (permalink)  
Antiguo 18/07/2014, 11:06
Avatar de eccorposse  
Fecha de Ingreso: diciembre-2009
Ubicación: Beijing
Mensajes: 69
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

Cita:
Iniciado por Jlopez2014 Ver Mensaje
aparte el error sale por los "echo"... y cuando se los quito se efectua la funcion del boton pero a la final no borra el dato seleccionado en la tabla...
Si no borra el dato de la tabla puede ser que la variable $var este vacia.

Haz un var_dump($var) en procesosrequeridos.php y muestra el archivo en el browser a er que te da.
Si quieres puedes quitar el primer echo justo el que esta antes del header() el segundo puedes dejarlo.

Última edición por eccorposse; 18/07/2014 a las 11:15
  #13 (permalink)  
Antiguo 18/07/2014, 12:42
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

quitando el primer echo se ejecuta la funcion del boton eliminar y no aparece ese error pero sigue sin cumplir su tarea... no elimina nada... siguen los mismos datos... como quedaria el codifo del var_dump($var) tu disculpa tantas molestias...
  #14 (permalink)  
Antiguo 18/07/2014, 14:16
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

probé por metodo Get... pero tampoco alguien tiene idea?
  #15 (permalink)  
Antiguo 19/07/2014, 03:25
Avatar de eccorposse  
Fecha de Ingreso: diciembre-2009
Ubicación: Beijing
Mensajes: 69
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Eliminar registros de una tabla consultada de mysql

Perdon pero a veces no te puedo responder porque me sale el maldito CAPTCHA que 1 de 20 intentos de poner todo el texto bien la pagina no se me queda en blanco y entonces puedo publicar, responder, etc... A veces me @#$% y no publico ni hago mas nada hasta el otro dia. Mira puedes ponerlo como mismo te lo he puesto, ejemplo:

Código PHP:
<?php include("conexion.php"); ?>
<?php
if (isset($_POST["btn1"])) {
    
$btn=$_POST["btn1"];
    if(
$btn=='Eliminar') {
        
//$sql="DELETE FROM empresas WHERE idempresa='$var'";
        //mysql_query($sql);
        //header("Location:indexempresa.php");
        
var_dump($var);
    }
    else {
        echo 
"<script> alert('El registro no pudo ser eliminado');</script>";
    }
}
?>
Nota que he comentado los procesos para que no se ejecuten y puedas ver que contenido tiene $var.
  #16 (permalink)  
Antiguo 19/07/2014, 09:18
 
Fecha de Ingreso: noviembre-2008
Ubicación: Cochabamba Bolivia
Mensajes: 519
Antigüedad: 15 años, 4 meses
Puntos: 26
Respuesta: Eliminar registros de una tabla consultada de mysql

Jejeje, no estoy seguro, pero a mi me parece que el erro que manda no es por que haya un header anteriormente, es por que Header() no se puede usar si la pagina ya ha lanzado algun codigo html, pòr eso normalmente el header se usa al principio de cualquier script, lo que podrias hacer es la redireccion con javascript en vez de header-

Saludos.

Etiquetas: eliminacion, mysql, tablas
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 04:05.