Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/01/2006, 05:56
Avatar de FuLaNo_
FuLaNo_
 
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Muestro un ejemplo de como lo hago yo.

Es para noticias, pero es lo mismo.

A cada item le pongo un check llamado "new_X" en donde X es el ID de ese item, ejemplo:

Código PHP:
<form action="" method="post">
<?php
$_sql 
mysql_query("SELECT * FROM `news` WHERE `state` = 0");
while(
$_row=mysql_fetch_array($_sql)){ 
<
input type="checkbox" name="new_'.$_row[id].'" value="ON" '.$_row['title'].'<br />;
}
?>
<input type="submit" value="Aceptar" name="new_accept" />
</form>
Ahi ya tenes generado el listado con sus checks correspondientes y el boton.

Ahora, al principio del script (arriba de todo, antes del listado inclusive) haces el while que aceptara/eliminara o lo que sea que quieras que haga, en mi caso cambia el campo "state" de 0 a 1.

Código PHP:
<?php
if ($_POST["new_accept"]) {
  
$_sql_accept mysql_query("SELECT * FROM `fw_news` WHERE `state` = 0 ORDER BY `id` ASC");
  while(
$_row=mysql_fetch_assoc($_sql_accept)){
    if(
$_POST['new_'.$_row[id]]) { $_sql_aupdate mysql_query("UPDATE `news` SET `state` = '1' WHERE `id` = '$_row[id]'"); }
  }
}
?>
Podrías poner otro boton en el formulario para eliminarlos, agrega esto en el form:
Código PHP:
<input type="submit" value="Eliminar" name="new_delete" /> 
y luego vas arriba de todo nuevamente y pegas este codigo:

Código PHP:
<?php
if ($_POST["new_delete"]) {
  
$_sql_delete mysql_query("SELECT * FROM `news` WHERE `state` = 0 ORDER BY `id` ASC");
  while(
$_row=mysql_fetch_assoc($_sql_delete)){
    if(
$_POST['new_'.$_row[id]]) { $_sql_dupdate mysql_query("DELETE FROM `news` WHERE `id` = '$_row[id]'"); }
  }
}
?>
Bueno, ahi tienes un ejemplo de como lo hago yo, funciona rapido y nunca me ha fallado (lo probe hasta con 150 registros simultaneos, no se como funcionara con mas)

Luego puedes conseguirte un codigo javascript para seleccionar todos los checkboxes de una sola vez y ahorrarte ir tildandolos de a uno...
__________________
I Love Programming...