Foros del Web » Programando para Internet » PHP »

Borrar varios registros al mismo tiempo

Estas en el tema de Borrar varios registros al mismo tiempo en el foro de PHP en Foros del Web. Compañeros, Algunos me podría ayudar con la forma en que pueda yo borrar mas de un registro de la base de datos. Yo agarro y ...
  #1 (permalink)  
Antiguo 17/03/2004, 09:42
gcs
 
Fecha de Ingreso: enero-2004
Ubicación: Heredia, Costa Rica
Mensajes: 191
Antigüedad: 20 años, 3 meses
Puntos: 0
Borrar varios registros al mismo tiempo

Compañeros,

Algunos me podría ayudar con la forma en que pueda yo borrar mas de un registro de la base de datos.

Yo agarro y llamo la base de datos y que me despliegue la lista de usuarios registrados, tengo un checkbox con el ID de cada usuario los marcos, pero que lógica tengo que usar para que se borren todos los que marqué ?

Algun ejemplo práctico, supongo que tiene que ir en un array....

AYUDA!
  #2 (permalink)  
Antiguo 17/03/2004, 09:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

¿Buscas algo como http://www.forosdelweb.com/showthrea...710#post518710 ?

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 17/03/2004 a las 09:48
  #3 (permalink)  
Antiguo 17/03/2004, 15:29
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Cluster corrige las Faqs

formulario.php
Código PHP:
<?
// Realizar la conexión a la BD .. Seleccionar la BD a usar.
include "config.php";

//conectamos a mysql
$conecta mysql_connect($dbhost,$dbuser,$dbpass) or die("Imposible conectar con MySQL.");
//seleccionamos db
mysql_select_db($dbname,$conecta) or die("Imposible seleccionar DB.");
// Ejecutar la consulta para obtener los datos de la BD.
$resultado=mysql_query("SELECT * FROM tabla");

// Se inicial el formulario
echo "<form action=\"procesar.php\" method=\"post\"> \n";

// Extraemos y componemos los checbox dinámicos de los datos de nuestra tabla de la BD.
while ($row mysql_fetch_array($resultado)){
  echo 
"<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['id']."\">".$row['nombre']."<br>";
}

// Cerramos el formulario y ponemos nuestro botón de Submit.
echo "<input type=\"submit\" name=\"Submit\" value=\"Enviar\"></form>"//en las faqs estan sin echo "";
?>

procesar.php
Código PHP:
<?
// Realizar la conexión a la BD .. Seleccionar la BD a usar.
include "config.php";

//conectamos a mysql
$conecta mysql_connect($dbhost,$dbuser,$dbpass) or die("Imposible conectar con MySQL.");
//seleccionamos db
mysql_select_db($dbname,$conecta) or die("Imposible seleccionar DB.");

// Generamos una lista de los ID's (campo value= ..) que tenemos en nuestro array.
$lista=implode(',',$_POST['seleccion']);

// Y lo aplicamos al SQL correspondiente y ejecutamos la consulta.
mysql_query("DELETE FROM tabla WHERE id IN(".$lista.")");
header("Location:formulario.php"); //redireccionamos al formulario
?>
Una pequeña aportacion para los novatos como yo ;)
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol

Última edición por Gerald; 17/03/2004 a las 15:31
  #4 (permalink)  
Antiguo 17/03/2004, 16:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Disculpa Gerald .. cual es la modificación o corrección? (no tengo a mano las FAQ's para comparar).

---- Editado ----
Te refieres a:

Código PHP:
// Cerramos el formulario y ponemos nuestro botón de Submit.
echo "<input type=\"submit\" name=\"Submit\" value=\"Enviar\"></form>"//en las faqs estan sin echo "";
?> 
y el otro comentario sobre redireccion (header() ...) hacia el formulario automáticamente?.

El tema de las comillas OK, .. El otro tema .. bueno, puedo ponerlo pero no faltará el que tenga "HTML" por encima y le dé problemas con el header() .. por eso para no complicar lo dejé ahí ya que se trata de ver la "técnica" .. El "fin" que le dé cada uno ya depende de otros factores .. aunque lo "normal" sería hacer ese redireccionamiento (automático como sea: header() .. javascirpt .. etc) hacia el formulario o listado donde se presenten esos datos para que se vea la actualización de esos datos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 17/03/2004 a las 16:22
  #5 (permalink)  
Antiguo 17/03/2004, 16:24
gcs
 
Fecha de Ingreso: enero-2004
Ubicación: Heredia, Costa Rica
Mensajes: 191
Antigüedad: 20 años, 3 meses
Puntos: 0
Se les agradece a todos su COLABORACION!! Todo fue un exito con ambas ayudas!!

Saludos
  #6 (permalink)  
Antiguo 17/03/2004, 16:59
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Cluster esta es la Faq

http://www.forosdelweb.com/showthre...8710#post518710
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #7 (permalink)  
Antiguo 18/03/2004, 06:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si, Gerald .. la faq la conozco y la ubico .. pero me refería que si las modificaciones que quieres hacer son las que comenté o alguna más ...?

(de momento voy a solventar el problema con las comillas citadas).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 18/03/2004, 10:58
gcs
 
Fecha de Ingreso: enero-2004
Ubicación: Heredia, Costa Rica
Mensajes: 191
Antigüedad: 20 años, 3 meses
Puntos: 0
ERROR

Alguno me podria explicar cual es la diferencia a nivel de sintaxys entre estas dos líneas que se supone que deberían ser las mismas:


<input name="seleccion" type="checkbox" id="seleccion" value="<? '.$row_usuarios[ID].' ?>">

<? echo "<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row_usuarios['ID']."\">"; ?>


Les comento, la primera es utilizando mero código HTM y nada mas meto en el value el valor en PHP del ID, y en el segundo es utilizando o generando el fomulario en PHP tal y como aparece en las ayudas que me brindaron.

El asunto es que tienen que ver los "\" que aparecen en la segunda ? que funcion cumplen porque por ejemplo cuando utilizo el primero a la hora de procesar.php me devuelve error de implode();

Que me dicen a esto ?
  #9 (permalink)  
Antiguo 18/03/2004, 11:04
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Bueno, la primera esta mal. Fijate solo en el codigo PHP:
Código PHP:
<? '.$row_usuarios[ID].' ?>
¿Que hace eso en PHP? Absolutamente nada (bueno, crea una cadena en memoria, pero sin poder accederla).

Para generar salida en PHP tienes que usar echo o alguna funcion similar (print(), printf(), ...).

Asi que la primera linea para funcion seria:
Código PHP:
<input name="seleccion" type="checkbox" id="seleccion" value="<?php echo $row_usuarios[ID]; ?>">
(personalmente prefiero <?php a <?).

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 18/03/2004, 11:09
gcs
 
Fecha de Ingreso: enero-2004
Ubicación: Heredia, Costa Rica
Mensajes: 191
Antigüedad: 20 años, 3 meses
Puntos: 0
Josemi,


Muchas gracias, en realidad lo que cometi fue el error con el echo no me percate de ese gran detalle, pero porque preferis usar <?php a <? alguna razón en especial que me ayude a mejorar ?

Aunque aun aplicandolo asi no me funciona a la hora de procesar.php me da un error en el implode();

Y bueno todavia tengo la duda de la utilizacion de los " \ " y el []

Saludos,

GaB

Última edición por gcs; 18/03/2004 a las 11:15
  #11 (permalink)  
Antiguo 18/03/2004, 11:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Dependiendo de la configuración de PHP que uses y de que si estás generando archivos XML .. el tag simple.

<?

De apertura de "aquí viene código PHP" .. lo puede confundir y dar problemas el servidor HTTP que uses al usarlo en conjunto con páginas XML ... por eso al usar <?php le estás diciendo al servidor HTTP que eso es "PHP" y no "podría ser PHP" ...

Sobre los errores que tienes con implode() y demás .. deberías especificar concretametne que error te dá y las condiciones de tus pruebas (código que usastes .. datos que seleccionastes .. etc).


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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




La zona horaria es GMT -6. Ahora son las 00:20.