Foros del Web » Programando para Internet » PHP »

Eliminar varios registros con Checkbox

Estas en el tema de Eliminar varios registros con Checkbox en el foro de PHP en Foros del Web. Hola a todos buenos dias, me gustaria si alguien pueda ayudarme con mi codigo pues me funciona el primer archivo pero el segundo aparece en ...
  #1 (permalink)  
Antiguo 22/01/2009, 12:21
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Eliminar varios registros con Checkbox

Hola a todos buenos dias, me gustaria si alguien pueda ayudarme con mi codigo pues me funciona el primer archivo pero el segundo aparece en blanco. Gracias de antemano.

este es mi primer archivo mostrar.php y parece ser que funciona bien

Código PHP:
<?php
$db
=mysql_connect('localhost','root','')or die ("error connexion base");
$base=mysql_select_db('sdro',$db)or die ("error connect database");
$nbrow=0;
$cont 0//Para el checkbox
print "<form action ='borrar-datos.php' method='post'>";
$result mysql_query("SELECT * FROM clientes");
echo 
"<div align=\"center\">SELECCIONAR MAS DE UN CLIENTE Y BORRARLO </div><p><br><p>\n";
echo 
"<table CELLSPACING=1 CELLPADDING=1 width='80%' border='1' align='center'> \n";
echo 
"<tr><td>Seleccionar</td><td>idCliente</td><td>Nombre</td><td>Fecha</td><td>Tel</td><td>Contacto</td><td>Email</td><td>Dominio</td><td>Keywords</td></tr> \n";

while(
$row=mysql_fetch_array($result))
{
$nbrow++;
$cont++;

$idPedido=$row["id"];
$usuario =$row["nombre"];
$idUsuario $row["fecha_contrato"];
$codProducto =$row["tel"];
$cantidad =$row["contato"];
$codCliente $row["email"];
$fechaPedido =$row["dominio"];
$estado =$row["keywords"];
print 
"<tr bgcolor='#FBF3E4'> ";
print 
"<td><div align=\"center\"><font color=\"#000000\"><font face=\"Verdana\"><input type=\"checkbox\" name=\"delete[]\" value=\"".$idPedido."\"></font></font></div></td>";


print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$idPedido</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$usuario</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$idUsuario</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$codProducto</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$cantidad</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$codCliente</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$fechaPedido</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$estado</font></font></div></td>";

print 
"</tr>";


}
print 
"</form> \n";
echo 
"</table> \n <p><br><p>";
print 
"<div align=\"center\"><input type='submit' name='borrar' value='Borrar'></div>";

//imprime número de registros
//print "<b><font size=\"1\"><font face=\"Verdana\">$nbrow </font></b>";

?>

ahora bien cuando llega a este archivo borrar-datos.php aparece la pantalla en blanco


Código PHP:
<?php
if (count($_POST['delete']))
{
//Establece una conexión con la BD y lanza un mensaje de error en el caso de que ésta no se haya realizado con éxito.
$db=mysql_connect('localhost','root','')or die ("error connexion base");
$base=mysql_select_db('sdro',$db)or die ("error connect database");
foreach (
$_POST['delete'] as $v)
{
$sql="DELETE FROM clientes WHERE idPedido=$v";
$res mysql_query($sql,$db);
}
}else{ echo (
'No has seleccionado ningún registro...');}
//header("location:menu.php");
?>
Espero y me puedan ayudar, muchas gracias. Jose
  #2 (permalink)  
Antiguo 22/01/2009, 12:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Eliminar varios registros con Checkbox

Tema trasladado a PHP.

http://www.forosdelweb.com/f21/funci...-datos-413499/
  #3 (permalink)  
Antiguo 22/01/2009, 12:39
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
Respuesta: Eliminar varios registros con Checkbox

Hola,
Intenta ver si te llegan los resultados con
Código PHP:
var_dump($_POST['delete']); 
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #4 (permalink)  
Antiguo 22/01/2009, 13:26
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Eliminar varios registros con Checkbox

Segun leo el codigo, nunca mandas mostrar nada a pantalla (para el caso que se ejecuta el delet correctamente)

$sql="DELETE FROM clientes WHERE idPedido=$v";
echo "<br>".$sql;
$res = mysql_query($sql,$db) or die (" Error de Delete");

Para ver si se ejecutan todos o en que hay error o si no se ejecuta nada del archivo
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #5 (permalink)  
Antiguo 22/01/2009, 14:42
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Eliminar varios registros con Checkbox

Cita:
Iniciado por pato12 Ver Mensaje
Hola,
Intenta ver si te llegan los resultados con
Código PHP:
var_dump($_POST['delete']); 
Suerte
Salu2

Hola pato12 mira este es el mensaje que aparece cuando lo pongo en borrar-datos.php

array(1) { [0]=> string(1) "3" }

y el registro esta asi:

3 - Oscar Torres2 - 2009-01-02 - 6-85-00-02 - Elena2 [email protected] - http://www.tijuanadentistmexi2 - tijuana dentist, tijuana dent2 - Pacific Dental2 - 2009-01-02 - 2009-03-02 - 2010-01-02 - 2 - 2009-01-12 - 1/2 - 202 - 222 - 2009-01-22 802 - cheque - 202 -222 -1

Perdona mi acomodo, este es el registro #3, y no se por que no me muestra los datos de dicho registro, me muestra el array
  #6 (permalink)  
Antiguo 22/01/2009, 14:44
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Eliminar varios registros con Checkbox

Cita:
Iniciado por Avatar810 Ver Mensaje
Segun leo el codigo, nunca mandas mostrar nada a pantalla (para el caso que se ejecuta el delet correctamente)

$sql="DELETE FROM clientes WHERE idPedido=$v";
echo "<br>".$sql;
$res = mysql_query($sql,$db) or die (" Error de Delete");

Para ver si se ejecutan todos o en que hay error o si no se ejecuta nada del archivo

Hola Avatar, me muestra esto: DELETE FROM clientes WHERE idPedido=3 Error de Delete

eso me aparece al cambiar mi codigo con el que me pusiste.

y el en primero si muestra datos, donde viene la instruccion PRINT ...... y viene la variable del $campo .

creo que no me esta funcionando esta linea:

if (count($_POST['delete'])) o no se que estare haciendo mal
  #7 (permalink)  
Antiguo 22/01/2009, 16:41
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
Respuesta: Eliminar varios registros con Checkbox

Hola,
Intenta poner esto:
Código PHP:
$sql="DELETE FROM clientes WHERE idPedido='$v'";// probemos con las comillas '
echo "<br>".$sql;
$res mysql_query($sql,$db) or die (" Error de Delete:".mysql_error());// te muestra el error 
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #8 (permalink)  
Antiguo 22/01/2009, 18:20
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Eliminar varios registros con Checkbox

Cita:
Iniciado por pato12 Ver Mensaje
Hola,
Intenta poner esto:
Código PHP:
$sql="DELETE FROM clientes WHERE idPedido='$v'";// probemos con las comillas '
echo "<br>".$sql;
$res mysql_query($sql,$db) or die (" Error de Delete:".mysql_error());// te muestra el error 
Suerte
Salu2
Oye pato ya puse el codigo con comillas y me aparecio esto:

Código PHP:
DELETE FROM clientes WHERE idPedido='3' Error de Delete 
Parece ser que no resulto solo mostro el contenido de la variable.

gracias.
  #9 (permalink)  
Antiguo 23/01/2009, 09:41
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Eliminar varios registros con Checkbox

Pato12 no hay error de comillas ya que es un ID y por ser numerico no es indispensable mandes una cadena (comillas)

Para mi que el error es en el nombre de el campo o la tabla, MySQL es sensible a mayusculas.
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #10 (permalink)  
Antiguo 23/01/2009, 11:37
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Eliminar varios registros con Checkbox

Cita:
Iniciado por Avatar810 Ver Mensaje
Pato12 no hay error de comillas ya que es un ID y por ser numerico no es indispensable mandes una cadena (comillas)

Para mi que el error es en el nombre de el campo o la tabla, MySQL es sensible a mayusculas.
Muchas gracias Avatar pero no me gusta usar mayusculas en mi base de datos, ni tablas y mucho menos campos en mysql.

y si asi fuera en que parte es sensible mysql? no entiendo.

gracias.
  #11 (permalink)  
Antiguo 23/01/2009, 11:46
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Eliminar varios registros con Checkbox

Segun tu codigo original
$sql="DELETE FROM clientes WHERE idPedido=$v";

Tu tabla se llama "clientes" en plural
y el campo llave se llama "idPedido" con la P en mayuscula.

A eso me refiero, si tu table se llama cliente (en singular) pues hay un error; al igual que si tu campo se llama idpedido (todo en minusculas) tambien hay error...
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #12 (permalink)  
Antiguo 23/01/2009, 13:17
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Eliminar varios registros con Checkbox

Cita:
Iniciado por Avatar810 Ver Mensaje
Segun tu codigo original
$sql="DELETE FROM clientes WHERE idPedido=$v";

Tu tabla se llama "clientes" en plural
y el campo llave se llama "idPedido" con la P en mayuscula.

A eso me refiero, si tu table se llama cliente (en singular) pues hay un error; al igual que si tu campo se llama idpedido (todo en minusculas) tambien hay error...
---

Gracias, avatar, ya cambie todo a minusculas.

mi tabla se llama clientes no lo tengo en singular te muestro:



y aqui esta lo que muestra el archivo mostrar.php , pues si lo esta mostrando y selecciono los 2 y no se borra ninguno:



gracias, por la ayuda.
  #13 (permalink)  
Antiguo 23/01/2009, 13:38
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Eliminar varios registros con Checkbox

NO veo el campo idPedido en tu tabla...
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #14 (permalink)  
Antiguo 23/01/2009, 16:18
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Eliminar varios registros con Checkbox

Cita:
Iniciado por Avatar810 Ver Mensaje
NO veo el campo idPedido en tu tabla...
lo cambie por el idcliente
  #15 (permalink)  
Antiguo 24/01/2009, 19:30
 
Fecha de Ingreso: marzo-2008
Mensajes: 63
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Eliminar varios registros con Checkbox

Hola,


Puedes dejar el código final para tomar como ejemplo, yo necesito hacer casi lo mismo y estoy un poco perdido.


Saludos
  #16 (permalink)  
Antiguo 24/01/2009, 19:33
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Eliminar varios registros con Checkbox

Cita:
Iniciado por vito25 Ver Mensaje
Hola,


Puedes dejar el código final para tomar como ejemplo, yo necesito hacer casi lo mismo y estoy un poco perdido.


Saludos
http://www.forosdelweb.com/f18/faqs-...tml#post518710
  #17 (permalink)  
Antiguo 24/01/2009, 20:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 33
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Eliminar varios registros con Checkbox

jaja, no es por nada pero o estoy empezando a ver cosas extrañas o el campo siempre se llamo "id".
  #18 (permalink)  
Antiguo 26/01/2009, 10:10
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Eliminar varios registros con Checkbox

Pues según el bloque que dejo de la descripción de la BBDD... SI EL CAMPO SE LLAMA id

Pues a ver que dice....
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #19 (permalink)  
Antiguo 26/01/2009, 10:29
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 3 meses
Puntos: 27
Respuesta: Eliminar varios registros con Checkbox

en efecto, creo que asi como dijo andresrd

el campo siempre se llamo id y lo unico que él cambio fue el nombre a visualizar

a mi parecer, cambiando su idPedido por id (solo) ya le funcionara

a ver que dice, el del problema

si soluciona de esa manera o no..

salu2
  #20 (permalink)  
Antiguo 27/01/2009, 18:02
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Eliminar varios registros con Checkbox

Hola chicos como estas, pues nada de nada, les pongo mi codigo. y mis resultados:

De nuevo esto es mostrar.php :

Código PHP:
<?php
$db
=mysql_connect('localhost','root','')or die ("error connexion base");
$base=mysql_select_db('sdro',$db)or die ("error connect database");
$nbrow=0;
$cont 0//Para el checkbox
print "<form action ='borrar-datos.php' method='post'>";
$result mysql_query("select * from clientes");
echo 
"<div align=\"center\">SELECCIONAR MAS DE UN CLIENTE Y BORRARLO </div><p><br><p>\n";
echo 
"<table CELLSPACING=1 CELLPADDING=1 width='80%' border='1' align='center'> \n";
echo 
"<tr><td>Seleccionar</td><td>id</td><td>nombre</td><td>fecha</td><td>tel</td><td>contacto</td><td>email</td><td>dominio</td><td>keywords</td></tr> \n";

while(
$row=mysql_fetch_array($result))
{
$nbrow++;
$cont++;

$id=$row["id"];
$nombre =$row["nombre"];
$fecha_contrato $row["fecha_contrato"];
$tel =$row["tel"];
$contato =$row["contato"];
$email $row["email"];
$dominio =$row["dominio"];
$keywords =$row["keywords"];
print 
"<tr bgcolor='#FBF3E4'> ";
print 
"<td><div align=\"center\"><font color=\"#000000\"><font face=\"Verdana\"><input type=\"checkbox\" name=\"delete[]\" value=\"".$id."\"></font></font></div></td>";


print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$id</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$nombre</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$fecha_contrato</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$tel</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$contato</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$email</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$dominio</font></font></div></td>";
print 
"<td> <div align=\"center\"><font color=\"#000000\"><font size=\"1\"><font face=\"Verdana\">$keywords</font></font></div></td>";

print 
"</tr>";


}
print 
"</form> \n";
echo 
"</table> \n <p><br><p>";
print 
"<div align=\"center\"><input type='submit' name='borrar' value='Borrar'></div>";

//imprime número de registros
//print "<b><font size=\"1\"><font face=\"Verdana\">$nbrow </font></b>";

?>


ok y este es borrar-datos.php

Código PHP:
<?php
var_dump
($_POST['delete']);
if (
count($_POST['delete']))
{
//Establece una conexión con la BD y lanza un mensaje de error en el caso de que ésta no se haya realizado con éxito.
$db=mysql_connect('localhost','root','')or die ("error connexion base");
$base=mysql_select_db('sdro',$db)or die ("error connect database");
foreach (
$_POST['delete'] as $v)
{
/*$sql="DELETE FROM clientes WHERE idPedido=$v";
$res = mysql_query($sql,$db);*/
$sql="delete from clientes where idPedido='$v'";
echo 
"<br>".$sql;
$res mysql_query($sql,$db) or die (" Error de Delete"); 
}
}else{ echo (
'No has seleccionado ningún registro...');}
//header("location:menu.php");
?>
y aqui esta la imagen de mi base de datos llamada "clientes" ok.



ok, aqui esta todo, muchas gracias a todos por sus opiniones pero todavia falta algo.
  #21 (permalink)  
Antiguo 27/01/2009, 18:20
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 3 meses
Puntos: 27
Respuesta: Eliminar varios registros con Checkbox

prueba lo siguiente:

Código PHP:
$sql="delete from clientes where idPedido='$v'"
Esto reemplaza por este otro:

Código PHP:
$sql="delete from clientes where id='$v'"
verifica y dinos si funciona

salu2
  #22 (permalink)  
Antiguo 28/01/2009, 11:28
 
Fecha de Ingreso: enero-2009
Ubicación: Tijuana
Mensajes: 80
Antigüedad: 15 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Eliminar varios registros con Checkbox

Cita:
Iniciado por vicram10 Ver Mensaje
prueba lo siguiente:

Código PHP:
$sql="delete from clientes where idPedido='$v'"
Esto reemplaza por este otro:

Código PHP:
$sql="delete from clientes where id='$v'"
verifica y dinos si funciona

salu2
Muchisimas gracias vicram, te lo agradezco , ya funciono a la perfeccion, saludos.

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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:29.