Foros del Web » Programando para Internet » PHP »

crear y enviar lista de checkbox

Estas en el tema de crear y enviar lista de checkbox en el foro de PHP en Foros del Web. hola, tengo en una base de datos nombres de personas, he tratado de hacer un eliminar en vista de usuario de forma ke le sea ...
  #1 (permalink)  
Antiguo 30/05/2008, 06:43
 
Fecha de Ingreso: marzo-2008
Mensajes: 45
Antigüedad: 16 años, 1 mes
Puntos: 0
crear y enviar lista de checkbox

hola, tengo en una base de datos nombres de personas, he tratado de hacer un eliminar en vista de usuario de forma ke le sea mas facil eliminar personas, para eso kiero cargar una pagina con la lista de nombres y al lado un checkbox para marcar si lo quiere eliminar, y al final un boton para ke procese la peticion, ahora mi duda, como puedo generar esos checkbox? y como enviar por POST ó GET la lista de checkbox y nombres ??

ejemplo:
Código PHP:
nombre:         marcarTodos

idnombre1         checkbox
idnombre2         checkbox
idnombre3         checkbox
idnombreN         checkbox
                       botonEliminar 
gracias
  #2 (permalink)  
Antiguo 30/05/2008, 07:39
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 18 años, 8 meses
Puntos: 14
Respuesta: crear y enviar lista de checkbox

Bueno en primera debes sabemos saber q

1. debemos generar un checkbox para cada usuario con una nombre diferente
2. al hacer procesar informacion, debemos enviarlos todosa php.

Yo en mi caso hago esto de la siguiente manera (usando mysql)


Imprimimos checkbox!
Código PHP:
<?
$contador_check 
0;
$consulta mysql_query("SELECT * FROM personas");
while(
$datos mysql_fetch_assoc($consulta))
{
$contador_check++;
$nombre_persona $datos["nombre"];

?>
<input type="checkbox" name="checkbox_<? echo $contador_check?>  value="<? echo $nombre_persona ?>"><? echo $nombre_persona ?><br />
<?
}
?>
Procesamos checkbox!
Código PHP:
<?
$consulta 
mysql_query("SELECT * FROM personas");
$totales mysql_num_rows($consulta);
for(
$i=0;$i<=$totales;$i++)
{
   
$checkbox $_POST["checkbox_".$i.""];
     if(
$checkbox)
       {
          
$persona $checkbox;
          
//proceso peticion
       
}
}
?>
Como funciona este asunto primero listamos todas las personas, en este bucle imprimimos los checkbox asi "checkbox_<? echo $contador_check; ?>" (recordando que $contador_check aumentara en 1 unidad x cada persona) de manera que quedara asi name="checkbox_2" y podremos distinguirlos unos de otros

Luego procesamos, sacamos un total de los registros y hacemos un bucle for para comprobar cuales checkbox fueron seleccionados, cuando $checkbox exista haremos la peticion del usuario, y la variable $checkbox tendra el nombre de la persona a eliminar

Última edición por minkweb; 30/05/2008 a las 07:54
  #3 (permalink)  
Antiguo 30/05/2008, 08:52
 
Fecha de Ingreso: marzo-2008
Mensajes: 45
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: crear y enviar lista de checkbox

gracias minkweb, me funcinó de maravillas solo tuve ke agregarle [] al nombre del checkbox
Cita:
<input type="checkbox" name="checkbox_<? echo $contador_check; ?>[] value="<? echo $nombre_persona ; ?>"><? echo $nombre_persona ; ?><br />
  #4 (permalink)  
Antiguo 30/05/2008, 09:28
 
Fecha de Ingreso: marzo-2008
Mensajes: 45
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: crear y enviar lista de checkbox

ahora me surge la duda, de que si en el momento en que un usuario esta marcando checkbox para eliminar personas otro usuario añada una persona entonces al procesar la peticion de eliminar no se correspondan los datos del checkbox con los nombres de la persona
como se puede evitar eso??

gracias
  #5 (permalink)  
Antiguo 31/05/2008, 01:52
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 18 años, 8 meses
Puntos: 14
Respuesta: crear y enviar lista de checkbox

Es imposible x q cuando mandes los checkbox se mandan con los usuarios q tienes actualmente asi arege mas usuarios mientras se estan eliminando, solo eliminara los q envias en los checkbox creo q eso te refieres, intentas hacer un sistema d usuario? so lo hacs con regsitros independiente de personas para cada usuario x ejemplo una tabla mysql

table amigos
id | id_usuario | id_amigo

1 2 4
2 2 30
3 2 20
4 30 2

-------------------------------------------

Aki vemos q el usuario 2 tiene d amigos a los usuarios con id 4,30 y 20 y el 30 tiene d amigo al 2
  #6 (permalink)  
Antiguo 31/05/2008, 08:09
 
Fecha de Ingreso: marzo-2008
Mensajes: 45
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: crear y enviar lista de checkbox

gracias, minkweb
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 23:24.