Foros del Web » Programando para Internet » PHP »

Eliminar registros de una BD

Estas en el tema de Eliminar registros de una BD en el foro de PHP en Foros del Web. Hola: Espero que me puedan ayudar. Estoy programando un panel en el que se pueda eliminar los registros, y no logro hacerlo. En el panel ...
  #1 (permalink)  
Antiguo 18/07/2010, 17:36
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Eliminar registros de una BD

Hola:
Espero que me puedan ayudar.
Estoy programando un panel en el que se pueda eliminar los registros, y no logro hacerlo.

En el panel de amdinistracion donde obtengo mi base de datos, hay un boton que se llama eliminar que el hacer clic cargo a una pagina llamada form_borrar

que tiene el siguiente código


Código PHP:


<html>
    <head>
        <script type="text/javascript">
        function advertencia(){
                 var mensaje ='Si pulsa el boton "Confirmar baja", se borraran los datos del producto';
        
                 alert(mensaje);
        }
        </script>
        
    </head>
    <body onload="advertencia();">
    <?php
         $prd_id
=$_GET['prd_id'];
    include(
"conexion1.php");
    
$consulta"Select prd_nombre, prd_descripcion, prd_precio From Productos
                                            where prd_id=$prd_id"
;
    
$resultadomysql_query($consulta);
    
$filamysql_fetch_array($resultado);
    
mysql_close();    
?>
Se borraran los siguientes productos
<table width="300" border="1">
<form action="borrar.php" method="post">
  <input type="hidden" name="prd_id" value=""<?php echo ($prd_id);?>"
  <tr>
    <td>Nombre</td>
    <td><?php echo($fila['prd_nombre']);?></td>
  </tr>
  <tr>
    <td>Precio</td>
    <td><?php echo($fila['prd_precio']);?></td>
  </tr>
  <tr>
    <td>Descripcion</td>
    <td><?php echo($fila['prd_descripcion']);?></td>
  </tr>
  <tr>
  
    <td colspan="2">
    <input type="submit" value="Confirmar"
    </form>
    </td>
  </tr>
</table>
</html>

Esto lo que deberia hacer es mostrarme los productos a borrar.
Y luego al hacer clic en Confirmar baja me dirige a una pagina llamada borrar.php que tiene el siguiente código


Código PHP:
    <?php
    $prd_id
=$_POST['prd_id'];
    include (
"conexion1.php");
    
    
$borrar="delete from Productos" where prd_id $prd_id 
    mysql_query
($borrar);
    
mysql_close();
    echo (
"Producto borrado con exito");
    
?>
  #2 (permalink)  
Antiguo 18/07/2010, 17:41
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

Cita:
Iniciado por elburdel Ver Mensaje
Código PHP:
    <?php
    $prd_id
=$_POST['prd_id'];
    include (
"conexion1.php");
    
    
$borrar="delete from Productos" where prd_id $prd_id 
    mysql_query
($borrar);
    
mysql_close();
    echo (
"Producto borrado con exito");
    
?>
no deberias cerrar las comillas fijate pones $borrar="delete from productos" where ...
deberia de ser
Código PHP:
$borrar="delete from Productos where prd_id = '$prd_id'"
suerte
  #3 (permalink)  
Antiguo 18/07/2010, 18:07
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

Ya lo modifique y me segui dando error.
Gracias y saludos!
  #4 (permalink)  
Antiguo 18/07/2010, 18:11
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

Cita:
<input type="hidden" name="prd_id" value=""<?php echo ($prd_id);?>"
ahi tambien hay un error de las comillas y me imagino qye no recibes nada xq cierras el value debe ser asi
Código:
<input type="hidden" name="prd_id" value="<?php echo $prd_id;?>"/>
prueba y me dices suerte
  #5 (permalink)  
Antiguo 18/07/2010, 18:14
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

Sigue sin funcionar.
Gracias de todas maneras.
  #6 (permalink)  
Antiguo 18/07/2010, 18:14
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

El error esta en el sql calculo.

Porque me tira este error.

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\matiasphp\form_borrar.php on line 36
  #7 (permalink)  
Antiguo 18/07/2010, 18:15
 
Fecha de Ingreso: julio-2010
Ubicación: Galicia
Mensajes: 91
Antigüedad: 13 años, 9 meses
Puntos: 9
Respuesta: Eliminar registros de una BD

Quizás sea cosa mia, que soy bastante novato en comparación con algunos de vosotros pero
Código PHP:
<input type="hidden" name="prd_id" value=""<?php echo ($prd_id);?>
  <tr> 
    <td>Nombre</td> 
    <td><?php echo($fila['prd_nombre']);?></td> 
  </tr> 
  <tr> 
    <td>Precio</td> 
    <td><?php echo($fila['prd_precio']);?></td> 
  </tr> 
  <tr> 
    <td>Descripcion</td> 
    <td><?php echo($fila['prd_descripcion']);?></td>
esos "echo" no están mal? Prueba a poner

Código PHP:
<input type="hidden" name="prd_id" value=""<?php echo"$prd_id"?>
  <tr> 
    <td>Nombre</td> 
    <td><?php echo"$fila['prd_nombre']"?></td> 
  </tr> 
  <tr> 
    <td>Precio</td> 
    <td><?php echo"$fila['prd_precio']"?></td> 
  </tr> 
  <tr> 
    <td>Descripcion</td> 
    <td><?php echo"$fila['prd_descripcion']"?></td>
Nunca había visto los echo tal como los tienes tú, aunque quizás funcionen así tambien, nose, espero poder ayudar en algo :P
  #8 (permalink)  
Antiguo 18/07/2010, 18:16
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

Decis que según vos los echos deberian ir sin parentesis?
  #9 (permalink)  
Antiguo 18/07/2010, 18:18
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

noc has un echo en la id_prd para ver si te esta recibiendo algo y depura la consulta a ver mysql_query($borrar) or die (mysql_error());
  #10 (permalink)  
Antiguo 18/07/2010, 18:20
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

yo tambiuen hago los echo sin el () mas quetodo lo uso para el print pero noc si influya pero si hiciste la consulta como te dig no tienes el parentesis xq yo no se lo puse
  #11 (permalink)  
Antiguo 18/07/2010, 18:24
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

Si hago un eco de prd_id me imprime lo siguiente

prd_idQuery was empty
  #12 (permalink)  
Antiguo 18/07/2010, 18:31
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

x esono te borra nada ahora pregunto te muestra los datos en el formulario?? cuando haces la consulta por el id??
  #13 (permalink)  
Antiguo 18/07/2010, 18:34
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

No, me tira error en el fetch array del formulario donde me deberia mostrar los datos a borrar.
  #14 (permalink)  
Antiguo 18/07/2010, 18:50
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

debiste empezar por ahi ok el id que llega por $_GET te llega correctamente?? si te llega pon la consulta de la siguiente manera a ver si da resultado
Código PHP:
$consulta="SELECT prd_nombre,prd_descripcion,prd_precio FROM Productos where prd_id='$prd_id'";
$resultadomysql_query($consulta) or die ("error al hacer consulta ".mysql_error());
while(
$row=mysql_fetch_array($resultado))
{
     
$prd_nombre=$row['prd_nombre'];
     
$prd_descripcion=$row['prd_descripcion'];
     
$prd_precio=$row['prd_precio'];
}
//cuando m,uestres los resultados haz el echo sin el parenteci ej
echo $nombre
haz esa prueba y ve si te muestra la consulta
  #15 (permalink)  
Antiguo 19/07/2010, 20:46
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

Ingresando ese código.

Sigue sin imprimirme los datos a borrar.

Pero se me elimino el error de mysql_fetch_array que me tiraba hasta ayer.

Seguiré probando, saludos!
  #16 (permalink)  
Antiguo 20/07/2010, 08:16
 
Fecha de Ingreso: julio-2010
Ubicación: Galicia
Mensajes: 91
Antigüedad: 13 años, 9 meses
Puntos: 9
Respuesta: Eliminar registros de una BD

Se me ocurre otra cosa, en el formulario donde tienes el campo invisible que almacena el prd_id
Código PHP:
Ver original
  1. <form action="borrar.php" method="post">
  2.   <input type="hidden" name="prd_id" value=""<?php echo ($prd_id);?>"
  3.   <tr>
  4.     <td>Nombre</td>
  5.     <td><?php echo($fila['prd_nombre']);?></td>
  6.   </tr>
  7.   <tr>
  8.     <td>Precio</td>
  9.     <td><?php echo($fila['prd_precio']);?></td>
  10.   </tr>
  11.   <tr>
  12.     <td>Descripcion</td>
  13.     <td><?php echo($fila['prd_descripcion']);?></td>
  14.   </tr>
  15.   <tr>
  16.  
  17.     <td colspan="2">
  18.     <input type="submit" value="Confirmar"
  19.     </form>
prueba a cambiar el echo del campo invisible de :
<?php echo ($prd_id);?>
a
<?php echo"$prd_id"; ?>
quizás sea por eso que no te pasa el valor del prd_id, porque a lo mejor no lo coje bien el campo oculto Espero haber ayudado en algo y si no, se vuelve a intentar, que a cabezota si que no me ganan
  #17 (permalink)  
Antiguo 22/07/2010, 16:04
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

Sigue sin funcionarme.
No creo que el problema sea el de los echos, porque siempre los hice así y me los enseñaron a usarlos de esa manera.

Muchas gracias de todos modos.

Saludos!
  #18 (permalink)  
Antiguo 22/07/2010, 17:32
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

disculpa si entendi mal pero cuando pones directamente el codigo en la consulta no te imprime nada?? eso si esta extrañom bueno yo creo que el problema viene de cuando recibes el prd_id x $_GET xq de ahi es que empiezan tus consultas si haces un echo de esta variable al recibirla te deberia mostrar algo sino tienes que ir mas arriba y empezar a revisar desde donde mandas esta variable suerte
  #19 (permalink)  
Antiguo 22/07/2010, 17:52
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

No, al ejecutar este archivo.

Lo que me imprime es la tablita con el nombre, la descripcion y el boton de confirmar, pero adentro no me imprima nada, es decir no me imprime los datos q voy a borrar.

un abrazo y suerte.
  #20 (permalink)  
Antiguo 22/07/2010, 17:54
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

acabo de hacer un echo en la variable prd_id y no me imprime absolutamente raro.
esto si que es raro
saludos
  #21 (permalink)  
Antiguo 22/07/2010, 17:54
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

bueno mas razon me das el problema viene de antes que llegues a esta pagina ya que si no recibes la id del producto a kien borras??
  #22 (permalink)  
Antiguo 22/07/2010, 18:00
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

Si,no me dice que ID borrar. Ahora estaba viendo el archivo del panel donde me imprime la base de datos a ver si hay algo q tiene q ver ahi.
  #23 (permalink)  
Antiguo 22/07/2010, 18:06
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

muestra como haces para enviar el prd_id para ver si te puedo ayudar
  #24 (permalink)  
Antiguo 22/07/2010, 18:17
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

Me parece que en ningun lado lo llamo es decir.

lo llamo desde el archivo form_borrar con este código

Código PHP:
<form action="borrar.php" method="post">
  <input type="hidden" name="prd_id" value="<?php echo $prd_id;?>"
    <input type="submit" value="Confirmar">

Pero ahora q veo no entiendo como hacer para que php entienda que cada dato es unico. y q me tire su ID.

El código del php del archivo panel donde me muestra la base de datos es este.

Código PHP:
[B]<?php
         
include("conexion1.php");
         
//Me conecto con mysql
         
$consulta="Select prd_nombre, prd_descripcion, prd_precio From productos";
         
$resultadomysql_query($consulta);
         
$registromysql_num_rows($resultado);
        
//Inicio del muestreo
      
while($fila=mysql_fetch_array($resultado)) {
            
?>
    <tr>
        <td> <?php echo($fila["prd_nombre"]);?></td>
        <td><?php echo($fila["prd_descripcion"]);?></td>
        <td><?php echo($fila["prd_precio"]);?></td>
        <td><a href="editar_form.php" border="0"><img src="imagenes/editar.png"/></a></td>
        <td><a href="form_borrar.php"><img src="imagenes/borrar2.png"/></a></td>
        </tr>
        <?php
    
}
    
//fin del muestreo
    
mysql_close();
    
?>[/B]
  #25 (permalink)  
Antiguo 22/07/2010, 18:27
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

bueno imaginate si no le decias que borrar como iba a saber q borrar?? bueno te explico un poco dentro de lo poco q se, el que cada producto sea unico y tiene su id lo estableces tu en la base de datos con el campo prd_id la estableces como clave y asi no puedes duplicar este campo, entonces en tu consulta deberias tambien preguntar esta id es decir
Código PHP:
Ver original
  1. $consulta="Select prd_nombre, prd_descripcion, prd_precio,prd_id From productos"; #fijate agreue el campo prd_id
asi obtienes la id de los productos, entonces cuando llamas al formulario de borrar pasas esta id de esta manera
Código PHP:
Ver original
  1. <a href="form_borrar.php?prd_id=<?php echo $fila['prd_id'];?>"><img src="imagenes/borrar2.png"/></a>
de esa manera envias la id del producto que deseas borrar al formulario donde borras y ahora la el php sabe que registro debe borrar de tu tabla prueba y me avisas suerte
  #26 (permalink)  
Antiguo 22/07/2010, 18:29
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

jajaja, ahora me cierra todo... lo pruebo y te digo, mil gracias !!
  #27 (permalink)  
Antiguo 22/07/2010, 18:35
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

como q te cierra??
  #28 (permalink)  
Antiguo 22/07/2010, 18:37
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: Eliminar registros de una BD

Claro que me cierra la idea del código que me tiraste. Y tenias razon funciono. Me imprime los datos. Ahora me voy a fijar como terminar de darlo de baja ya que tengo algun error sql para darlos de baja definitivamente.
un abrazo grande!
  #29 (permalink)  
Antiguo 22/07/2010, 18:42
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Eliminar registros de una BD

bueno el como borrarlo ya lo discutimos en este mismo tema revisa xq en los comentarios anteriores te dimos sintaxi de como borrarlo y como ahora si mandas el id seguro te lo borrara suerte

Etiquetas: borrar, mysql, registros
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 09:09.