Foros del Web » Programando para Internet » PHP »

Construir una tabla de registro con checkbox y boton de radio

Estas en el tema de Construir una tabla de registro con checkbox y boton de radio en el foro de PHP en Foros del Web. Saludos Amigos/as: Tengo un problema tengo que construir una tabla de ciertos reristros de una tabla la cual la guardo en una varible la busqueda ...
  #1 (permalink)  
Antiguo 17/12/2006, 02:12
Avatar de El_Aprendiz  
Fecha de Ingreso: febrero-2005
Mensajes: 152
Antigüedad: 19 años, 2 meses
Puntos: 0
Construir una tabla de registro con checkbox y boton de radio

Saludos Amigos/as:

Tengo un problema tengo que construir una tabla de ciertos reristros de una tabla la cual la guardo en una varible la busqueda la hago desde una caja de texto el cual lleva por nombre txtbuscar el y luego lo igualo a una variable llamada parametro asi
Código PHP:
$parametro=$_POST['txtbuscar']; 
para luego tomar la variable parametro para saber si esta vacia o no si lo esta envio un mensaje al usuarioa para que escriba algo para buscarlo, bueno cuando escribe por ejemplo "jose" y existen dos registros que llevan ese nombre entonces ese sera el resultadodo lo hago asi:
Código PHP:
$resultado mysql_query("SELECT * FROM empleado WHERE codigo LIKE '%$parametro%' or nombre LIKE '%$parametro%' ORDER BY codigo"$conexion); 
echo 
"$resultado"
En fin la variable $resultado obtiene la consulta de los registros EL VERDADERO PROBLEMA ES QUE NO SE COMO CONSTRUIR UNA TABLA DONDE ME MUESTRE EL RESULTADO DE LA CONSULTA Y PONERLA AL LADO DE CADA REGISTRO UN checkbox PARA PODER BORAR CIERTO NUMERO DE REGISTROS OSEA LOS SELECCIONADOS y boton de radio PARA MODIFICAR EL REGISTRO SELECCIONADO. TAL Y COMO LO HACEN ALGUNOS CORREOS DE YAHOO Y HOTMAIL

Gracias por su tiempo y estare a pendiente de una respuesta...

Atentamente El_Aprendiz
__________________
La verdadera grandeza no está en no caer, si no en levantarse cada vez que caemos.
  #2 (permalink)  
Antiguo 17/12/2006, 12:33
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 8 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'");
// ... 
  #3 (permalink)  
Antiguo 18/12/2006, 00:13
Avatar de El_Aprendiz  
Fecha de Ingreso: febrero-2005
Mensajes: 152
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Construir una tabla de registro con checkbox y boton de radio

□ 001 Julio Cesar Armando
__________________
La verdadera grandeza no está en no caer, si no en levantarse cada vez que caemos.
  #4 (permalink)  
Antiguo 18/12/2006, 00:53
Avatar de El_Aprendiz  
Fecha de Ingreso: febrero-2005
Mensajes: 152
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Construir una tabla de registro con checkbox y boton de radio

Saludos:
Creo que sere mas especifico y como soy nuevo en php de dire como esta mi situacion y me corriges, por cierto el mensaje anterior fue un error.

Para Comenzar tengo lo siguientes:
Una base de datos llamada : Planillas

Una tabla llamada : Empleados (con los siguientes campos)

cod_empleado :Codigo del empleado
non1_empleado :Primer Nombre del empleado
non2_empleado :Segundo Nombre del empleado
ape1_empleado :Primer Apellido del empleado
ape2_empleado :Segundo Apellido del empleado

Deseo construir una tabla con check de esta forma y poder colorear cada fila como aparece en hotmail por ejemplo para poder chequear cierto numero de resitros.
Cita:
CODIGO NOMBRE DEL EMPLEADO
-------- ----------------------------------
□ 0001 JULIO CESAR ARMANDO ORTEGA
□ 0002 CLAUDIA ESMERALDA CARIAS RUIZ
□ 0003 JULIO CESAR CHAVEZ RECINOS
□ 0004 DIEGO ARMANDO MARADONA CANALES
Primero tengo el formulario donde recojo el dato o los datos que usurario coloca en la caja de texto para buscarlos en la base de datos
el cual lleva por nonbre formutabla.html
Código HTML:
<html>
<head>
<title> (Busqueda) </title>
<style type="text/css">
<!--
.Estilo1 {
	font-size: 24px;
	font-weight: bold;
	font-family: Verdana;
	color: #3333FF;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<body> 
<form method="POST" action="tabla.php"> 
  <div align="center">
    <p class="Estilo1">Busqueda </p>
    <p>Escriba todo o parte del código o nombre de la persona </p>
    <div align="center">
      <input name="txtbuscar" type="text" id="txtbuscar" size="25">
        <br>
        <br> 
        <input type="submit" value="Buscar" name="buscar"> 
          </p>
                </p>
    </div>
  </div>
</form> 
</body> 
</html>[/
He seguido tu consejo pero como te dije soy novato en php, tengo el scritp que hace la busqueda y que supuestamente debe construir la tabla con los checkbox.. este este el nombre es tabla.php
Código PHP:
<?
$sql_host
="localhost";  // Host, nombre del servidor o IP del servidor Mysql. 
$sql_usuario="root";  // Usuario de Mysql 
$sql_pass="essecreta";    // contraseña de Mysql 
$sql_db="planillas";  // Base de datos que se usará. 
// ------------------------------------------------------------------------------------------------------------------------------------
# Connexión 
$p_hook mysql_connect($sql_host,$sql_usuario,$sql_pass) or die ("Error de connexión: host/user/pass incorrecto"); 
$p_base mysql_select_db($sql_db,$p_hook) or die ("Error de connexión: base de datos incorrecta"); 
// ------------------------------------------------------------------------------------------------------------------------------------
$parametro=$_POST['txtbuscar'];
//echo "$parametro";
$resultado =mysql_query("SELECT * FROM empleados WHERE nom1_empleado LIKE '%$parametro%' or nom2_empleado LIKE '%$parametro%' or ape1_empleado LIKE '%$parametro%' or ape2_empleadoLIKE '%$parametro%' or cod_empleado LIKE '%$parametro%' ORDER BY cod_empleado"); 
?>
<table>
<?
while ($vector=mysql_fecth_assoc($resultado)) {
$vector['cod_empleado']; //tiene el valor del campo codigo de la fila en la cual se itera.
$vector['nom1_empleado']; //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['cod_empleado']?>" id="chk_<?=$vector['cod_empleado']?>" />
</td>
<td>
<?=$vector['cod_empleado']?>
</td>
</tr>
<? ?>
</table>

<!-- ... -->
Pero no me funciona que hare mal? me da este error
Cita:
Fatal error: Call to undefined function mysql_fecth_assoc() in C:\tabla.php on line 17
Profa espero una respuesta y me ayuden de antemano les agradezco su desinteresada atencion a mi problema que la pasen bien hasta la proxima, Atentamente El_Aprendiz..
__________________
La verdadera grandeza no está en no caer, si no en levantarse cada vez que caemos.
  #5 (permalink)  
Antiguo 18/12/2006, 05:07
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 18 años, 10 meses
Puntos: 2
Re: Construir una tabla de registro con checkbox y boton de radio

Código PHP:
while ($vector=mysql_fecth_assoc($resultado)) 
el problema esta en esa linea es mysql_fetch no mysql_fecth
__________________
Saludos!
Mty-NL..
  #6 (permalink)  
Antiguo 18/12/2006, 11:33
Avatar de El_Aprendiz  
Fecha de Ingreso: febrero-2005
Mensajes: 152
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Construir una tabla de registro con checkbox y boton de radio

Ok gracias a todos, Problema resuelto, Ya funciona.
Bendiciones a todos..
__________________
La verdadera grandeza no está en no caer, si no en levantarse cada vez que caemos.
  #7 (permalink)  
Antiguo 18/06/2009, 01:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Construir una tabla de registro con checkbox y boton de radio

Gracias por la explicación y ejemplo XD
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 09:14.