Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Borrar registros con checkbox

Estas en el tema de Borrar registros con checkbox en el foro de Mysql en Foros del Web. Como están Maestros, mi problema es el siguiente: Trato de borrar múltiples registros de una tabla utilizando Checkbox. Tengo fotos guardadas en carpetas y las ...
  #1 (permalink)  
Antiguo 09/03/2012, 16:19
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 16 años, 8 meses
Puntos: 4
Pregunta Borrar registros con checkbox

Como están Maestros, mi problema es el siguiente:

Trato de borrar múltiples registros de una tabla utilizando Checkbox.

Tengo fotos guardadas en carpetas y las rutas en una tabla.
Cuando hago la selección de las fotos que voy a borra y presiono el botón borrar estas se borran sin problema pero las rutas guardadas en las tablas no se borran.

Dejaré acá el script por si alguien me da una mano y también por si a otro le sirve (una ves corregido) claro está.

Código PHP:
Ver original
  1. //pagina que contiene los checkbox
  2. Marque para borrar
  3. <input type='checkbox' name='idfotog[]' value='".$row['idfotog']."'>
  4. <input type='text' size='1' value='".$row['idfotog']."' />
  5. <input type="submit" name="button" id="button" value="Borrar las fotos seleccionadas" />

Código PHP:
Ver original
  1. //y la pagina que procesa
  2.  
  3.  
  4. $idfotos=$_POST['idfotog'];
  5.  
  6. $contador=0;
  7.  
  8. if(is_array($idfotos))
  9.     {
  10.         for($i=0;$i<count($idfotos);$i++){
  11.        
  12.         //hago la consulta para obtener los nombres de las fotos
  13.         $sql="select * from fotosGaleria where idfotog = '".$idfotos[$i]."'";
  14.         $res=mysql_query($sql)or die(mysql_error);
  15.         $row=mysql_fetch_array($res);
  16.        
  17.         $rutafoto=$row['rutafoto'];
  18.         $idfotog=$row['idfotog'];
  19.        
  20.                 //borro las fotos de la carpeta
  21.                 $borrar1 = $_SERVER['DOCUMENT_ROOT']."/".$rutafoto;
  22.                 //echo "borrar: ".$borrar1."<br>";
  23.                 unlink($borrar1);
  24.                
  25.         $variablennnn = $idfotos[$i];
  26.         //mysql_query("delete from fotosGaleria where idpro = '".$variablennnn."'");
  27.         $query = "DELETE form fotosGaleria where idfotog ='".$variablennnn."'";
  28.         //$row2=mysql_query("delet form fotosGaleria where idfotog ='".$idfotos[$i]."'");
  29.         //echo $borrar1."<br>";
  30.         //echo $idfotos[$i]."<br>";
  31.         echo $variablennnn;
  32.        
  33.         //echo $idfotos[$i]."-". $rutafoto."<br>";
  34.        
  35.         $contador++;
  36.        
  37.         echo "<script>alert('La foto fue borrada de la base de datos');
  38.                         location.href='index.php';
  39.                     </script>";
  40.        
  41.         }
  42.     }
  43.     else
  44.     {
  45.         echo "<script>history.back(alert('Seleccione las fotos que quiere borrar.'));</script>";
  46.             die();
  47.     }
  #2 (permalink)  
Antiguo 10/03/2012, 15:09
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 16 años, 8 meses
Puntos: 4
Respuesta: Borrar registros con checkbox

será que es muy difícil??
  #3 (permalink)  
Antiguo 10/03/2012, 16:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Borrar registros con checkbox

Cita:
Iniciado por yole Ver Mensaje
será que es muy difícil??
Dificil, no. Tiene dos problemas: El primero es que tu problema no es de MySQL, sino de PHP, y los temas de programación no se deben poner en este foro (normas del Foro de Bases de Datos), sino en el del respectivo lenguaje (PHP - Foros del Web).
No es algo en especial contra tu post, pero es que es constante que hagan preguntas acá que no tienen que ver con el tema del foro, y a veces a uno no le inspiran contestar.
Ese es el segundo problema: la pregunta en sí no entusiasma (repito que no es en contra tuya, simplemente que no eres el primero en postear un tema off-topic), y uno al leer el post se da cuenta que está descolgado del foro y lo cierra sin más.

Bien, yendo al problema en sí, lo que planteas es esto:
Cita:
Cuando hago la selección de las fotos que voy a borra y presiono el botón borrar estas se borran sin problema pero las rutas guardadas en las tablas no se borran.
Ahora bien, si miramos con cuidado lo que posteaste del código de ejecución:
Código PHP:
        $sql="select * from fotosGaleria where idfotog = '".$idfotos[$i]."'";
        
$res=mysql_query($sql)or die(mysql_error);
        
$row=mysql_fetch_array($res);
        
        
$rutafoto=$row['rutafoto'];
        
$idfotog=$row['idfotog'];
        
                
//borro las fotos de la carpeta
                
$borrar1 $_SERVER['DOCUMENT_ROOT']."/".$rutafoto;
                
//echo "borrar: ".$borrar1."<br>";
                
unlink($borrar1);
                
        
$variablennnn $idfotos[$i];
        
//mysql_query("delete from fotosGaleria where idpro = '".$variablennnn."'");
        
$query "DELETE form fotosGaleria where idfotog ='".$variablennnn."'";
        
//$row2=mysql_query("delet form fotosGaleria where idfotog ='".$idfotos[$i]."'");
        //echo $borrar1."<br>";
        //echo $idfotos[$i]."<br>";
        
echo $variablennnn;
        
        
//echo $idfotos[$i]."-". $rutafoto."<br>";
        
        
$contador++;
        
        echo 
"<script>alert('La foto fue borrada de la base de datos');
                        location.href='index.php';
                    </script>"

¿Me puedes decir en qué parte estás ejecutando la consulta contenida en la variable $query, porque todo ese PHP está desactivado...

Además de eso, la sentencia
Código MySQL:
Ver original
  1. DELETE form fotosGaleria WHEREidfotog ='1";
contiene un error evidente: FORM donde debería decir FROM (bueno, esto si es tema de MySQL ).

Espero que las recomendaciones te sirvan. La próxima postea solamente lo que sea de SQL, extirpándole todo código de PHP, por favor. El código de programación ensucia al SQL y esconde los errores causados por las variables y la mala redacción. No ayuda a ver los problemas.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 10/03/2012, 17:18
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 16 años, 8 meses
Puntos: 4
Respuesta: Borrar registros con checkbox

Dala la explicación, agradezco dos cosas. El tiempo que te haz dado en responder y por las observaciones hechas al respecto. Tendré más cuidado al hacer mis post.
Daré un vistazo el error que detectaste FORM en vez de FROM.

Muchas gracias.

Etiquetas: checkbox, php, query, registros, select, sql, tabla
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 01:31.