Ver Mensaje Individual
  #27 (permalink)  
Antiguo 02/05/2012, 10:19
dragonfire256
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 7 meses
Puntos: 9
Respuesta: Crear checkox dinamicamente

Cita:
Iniciado por linuxzero Ver Mensaje
Me refiero que en el checkbox deberias pasarle concatenado en el value un valor que identifique al registro dentro de la tabla de reporte_horas y le concatenas tambien el valor de $var[9] caso ejemplo:

Código PHP:
Ver original
  1. echo "<td><input type='checkbox' name='actualizar[]' value='" . $var[0] . "," . $var['9'] . "' /></td>";

Entonces ahora en $estado tendrias el valor "12,1" por ejemplo, donde 12 es el id del registro dentro de reporte_horas y 1 el estado al cual cambiar entonces sabiendo esto podes hacer lo siguiente:

Código PHP:
Ver original
  1. foreach($_POST['actualizar'] as $registro) {
  2.     $datos = explode(",", $registro);
  3.     $update="UPDATE reporte_horas SET status='" . $datos[1] . "' where ID_REGISTRO='" . $datos[0] . "'";
  4.     $resultado=mysql_query($update, $con);
  5. }
Ya lo hice tal cual, pero me da estos dos errores

Notice: Undefined index: actualizar

Warning: Invalid argument supplied for foreach()

Te voy a pasar el codigo adaptado


Código PHP:
Ver original
  1. while($var=mysql_fetch_array($resultado))
  2.     {
  3.  
  4.         echo '<tr>';
  5.         echo '<td>',$var['1'], '</td>';
  6.         echo '<td>',$var['2'], '</td>';
  7.         echo '<td>',$var['3'], '</td>';
  8.         echo '<td>',$var['4'], '</td>';
  9.         echo '<td>',$var['5'], '</td>';
  10.         echo '<td>',$var['6'], '</td>';
  11.         echo '<td>',$var['7'], '</td>';
  12.         echo '<td>',$var['8'], '</td>';
  13.         echo '<td>',$var['9'], '</td>';
  14.         echo "<td><input type='checkbox' name='actualizar[]' value='".$var['0'].",".$var['10']."' /></td>";
  15.         echo '</tr>';
  16.     }
  17.     ?>


Y al archivo al que es enviado los datos

Código PHP:
Ver original
  1. foreach($_POST['actualizar'] as $registro)
  2.     {
  3.     $datos=explode(",", $registro);
  4.     $update="UPDATE reporte_horas SET status='".$datos['1']."' where codigo_reporte_horas'".$datos['0']."'";
  5.     $resultado=mysql_query($update, $con);
  6.     }

P.D. Si ahora te fijas, el var[9] cambio a var[10] porque se me habia olvidado colocar el campo clave y por eso ahora cambio su valor

Muchas gracias