Foros del Web » Programando para Internet » PHP »

Borrar todo el contenido de una columna de una tabla en una base de datos

Estas en el tema de Borrar todo el contenido de una columna de una tabla en una base de datos en el foro de PHP en Foros del Web. Estimados compañeros, agradezco toda la ayuda que me puedan brindar en este caso: Tengo un formulario con un checkbox el valor de este es <input ...
  #1 (permalink)  
Antiguo 24/05/2014, 17:03
 
Fecha de Ingreso: octubre-2009
Mensajes: 232
Antigüedad: 10 años, 4 meses
Puntos: 3
Borrar todo el contenido de una columna de una tabla en una base de datos

Estimados compañeros, agradezco toda la ayuda que me puedan brindar en este caso:

Tengo un formulario con un checkbox el valor de este es

<input type="checkbox" name="uno[]" value="<?php echo $junio['uno'];?>" />

al dar click en eliminar se conecta con la pagina elimniar.php cuyo contenido es este:

<?php

$uno=$_POST['uno'];

mysql_connect("localhost","usuario","pass");

mysql_select_db("mibd");


$query="DELETE FROM junio WHERE uno = 'mi_registro' ";

?>

La base de datos se llama junio esta tiene varios campos uno-dos-tres-cuatro

la idea es que al dar clik en eliminar se borre el contenido del campo seleccionado, el problema es que no se borra nada :( gracias, por toda su ayuda.
  #2 (permalink)  
Antiguo 24/05/2014, 17:23
Avatar de Alexis88
Objetivista
 
Fecha de Ingreso: noviembre-2011
Ubicación: Lima, Perú
Mensajes: 5.433
Antigüedad: 8 años, 3 meses
Puntos: 934
Respuesta: Borrar todo el contenido de una columna de una tabla en una base de datos

Debes de tomar en cuenta que estás trabajando con un array de checkbox, por lo que no puedes trabajar directamente con el/los valor/es recibidos. Si solo tienes un checkbox, quita los corchetes [] del nombre y en la consulta, en lugar de 'mi_registro', coloca a la variable $uno. No olvides desinfectar los datos antes de aplicar la sentencia SQL.

Saludos
__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #3 (permalink)  
Antiguo 24/05/2014, 17:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.323
Antigüedad: 12 años, 2 meses
Puntos: 2654
Respuesta: Borrar todo el contenido de una columna de una tabla en una base de datos

Además de lo dich, debes recordar que el SQL no es PHP y tiene sus propias reglas y acciones.
DELETE borra registros, no campos individuales de un registro. Borrar un campo de un registro es imposible, porque en una tabla de base de datos, el campo es parte estructural del registro. No se elimina de ninguna forma para un único registro.
Lo que debes hacer es, o bien meterle un valor nulo (NULL) o un caracter vacío (que no es un espacio en blanco). Para que quede claro, NULL <>''.
Lo que debes hacer es un UPDATE, no un DELETE, a menos que quieras eliminar el registor entero.

Puedes ponerlo así:
Código PHP:
Ver original
  1. $query="UPDATE junio SET uno = '' ";
o así:

Código PHP:
Ver original
  1. $query="UPDATE junio SET uno = NULL ";
Pero ten en cuenta que si no le pones un WHERE, vaciará todos los campos "uno" de todos los registros de la tabla.
__________________
¿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 24/05/2014, 17:56
 
Fecha de Ingreso: octubre-2009
Mensajes: 232
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: Borrar todo el contenido de una columna de una tabla en una base de datos

Gracias amigo Alexis88 realice los cambios asi:

Pagina uno:

<input type="checkbox" name="uno" value="<?php echo $junio['uno'];?>" />

Pagina eliminar

<?php

$uno=$_POST['uno'];

mysql_connect("localhost","usu","pas");

mysql_select_db("BD");

$query="DELETE FROM junio WHERE uno = '$uno'";

?>
----


a un asi no me elimina el contenido de la columna UNO, hice algo mal?
  #5 (permalink)  
Antiguo 24/05/2014, 18:00
 
Fecha de Ingreso: octubre-2009
Mensajes: 232
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: Borrar todo el contenido de una columna de una tabla en una base de datos

Gracias por responder amigo gnzsoloyo, lo que quiero hacer es borrar todos los registros de el campo"uno" como lo debería hacer? seria asi:

$query="UPDATE junio SET WHERE uno = ''$uno";

gracias por tu apoyo.
  #6 (permalink)  
Antiguo 24/05/2014, 18:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.323
Antigüedad: 12 años, 2 meses
Puntos: 2654
Respuesta: Borrar todo el contenido de una columna de una tabla en una base de datos

Ya te lo respondí:
Cita:
Iniciado por gnzsoloyo Ver Mensaje
Lo que debes hacer es, o bien meterle un valor nulo (NULL) o un caracter vacío (que no es un espacio en blanco). Para que quede claro, NULL <>''.
Lo que debes hacer es un UPDATE, no un DELETE, a menos que quieras eliminar el registor entero.

Puedes ponerlo así:
Código PHP:
Ver original
  1. $query="UPDATE junio SET uno = '' ";
o así:

Código PHP:
Ver original
  1. $query="UPDATE junio SET uno = NULL ";
Observa cómo escribí la query yo, y cómo la escribiste tu... ¿Notas la diferencia?

Y mirando la tuya, ¿qué supones que hace el WHERE? ¿Estás entendiendo el uso de las cláusulas de SQL?
Porque si no las entiendes, estás dando palos de ciego, y desde allí va a ser complicada cualquier explicación.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 24/05/2014, 20:19
 
Fecha de Ingreso: octubre-2009
Mensajes: 232
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: Borrar todo el contenido de una columna de una tabla en una base de datos

Gracias por responder, disculpa la ignorancia, utilice los dos códigos que me sugieres y aun no me da, que estaré haciendo mal?
  #8 (permalink)  
Antiguo 24/05/2014, 21:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.323
Antigüedad: 12 años, 2 meses
Puntos: 2654
Respuesta: Borrar todo el contenido de una columna de una tabla en una base de datos

Por lo pronto en el código que posteas no veo que estés verificando si se conecta bien, si seleccionado exitosamente la base, y ni siquiera si la suerte se ejecutó sin errores. Nada.
Tu código no valida nada, por lo que todo podrías estar fallando, y nunca lo sabrías.
Haz una cosa: prueba la query en PhpMyadmin, y si anda bien elproblema esta en tu script.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 24/05/2014, 21:47
 
Fecha de Ingreso: octubre-2009
Mensajes: 232
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: Borrar todo el contenido de una columna de una tabla en una base de datos

Estimado amigo gracias por responder,

no me genera ningún error, le doy clic en el botón de cancelar y me manda a la pagina de eliminar y no e ejecuta nada no muestra falla alguna. no se como se realiza la prueba en PhpMyadmin, te dejo el código de nuevo

la pagina inicial tiene un chekbox y un boton que envía a eliminar.php

<input type="checkbox" name="uno" value="<?php echo $junio['uno'];?>" />

el código de eliminar.php es este :

<?php

$uno=$_POST['uno'];

mysql_connect("localhost","usu","pas");

mysql_select_db("bd");


$query="UPDATE junio SET uno = '' "



?>

Etiquetas: columna, contenido, formulario, mysql, registro, select, tabla, todo
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 19:12.