Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/12/2006, 12:33
GikaJavi
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Construir una tabla de registro con checkbox y boton de radio

Hola,

Lo primero que necesitas es aplicar alguna función de mysql capaz de trabajar con los resultados que te devuelve mysql_query(). Las hay de muchos tipos, aunque todas muy parecidas entre sí. Yo no te voy a recomendar ninguna porque todas tienen sus pros y sus contras, pero como haces un select *, y por lo tanto no sé qué campos te interesa seleccionar de la tabla empleado, te voy a recomendar mysq_fecth_assoc(), función que puedes usar para realizar iteraciones en en $resultado.

mysql_fetch_assoc() te devuelve un array asociativo con tantas claves como campos (u expresiones SQL) usas en la cláusula SELECT de tu consulta. En tu caso, como usas *, el array devuelto tendrá tantas claves como campos tenga la tabla empleado, y estas claves tendrán el mismo nombre que los campos.

Suponiendo que necesitas conocer los valores de los campos 'codigo' y 'nombre', puedes montar un bucle como el siguiente:

Código PHP:
//...
$resultado = mysql_query("SELECT * FROM empleado WHERE codigo LIKE '%$parametro%' or nombre LIKE '%$parametro%' ORDER BY codigo", $conexion); 
?>
<table>
<?
while ($vector=mysql_fecth_assoc($resultado)) {
// $vector['codigo'] tiene el valor del campo codigo de la fila en la cual se itera.
// $vector['nombre'] tiene el valor del campo nombre de la fila en la cual se itera.
// Ahora maquetamos una fila de tabla HTML para cada fila resultado de la consulta:
?>
<tr>
<td>
<input type="check" name="chk_<?=$vector['codigo']?>" id="chk_<?=$vector['codigo']?>" />
<input type="radio" name="rad_codigo" id="rad_codigo" value="<?=$vector['codigo']?>" />
</td>
<td>
<?=$vector['nombre']?>
</td>
</tr>
<? ?>
</table>

<!-- ... -->
Lo anterior envía al cliente la parte del formulario que te interesa. El marcado del resto de formularo (botones, etc.) lo dejo para ti.

El script receptor recibirá tantas variables POST del tipo chk_<codigo> como checks haya marcado el usuario. También enviará siempre la variable $_POST['rad_codigo'] la cual tendrá el valor del código de empleado que el usuario haya seleccionado.

Para borrar los ckecks marcados puedes construir algo como:

Código PHP:
//...
foreach ($_POST as $clave => $val) {
  if (
ereg("^chk_"$clave))
    
$lista_a_borrar[] = str_replace('chk_','',$clave);
}
$cadena_codigos_a_borrar implode($lista_a_borrar',');
mysql_query("delete from empleados where codigo in '$cadena_codigos_a_borrar'");
// ...