Foros del Web » Programando para Internet » PHP »

valor de un checkbox

Estas en el tema de valor de un checkbox en el foro de PHP en Foros del Web. Hola a todos. He creado un formulario y dentro de este he insertado una tabla para ver información de los usuarios del foro que estoy ...
  #1 (permalink)  
Antiguo 13/11/2002, 14:32
 
Fecha de Ingreso: noviembre-2002
Mensajes: 198
Antigüedad: 15 años, 1 mes
Puntos: 0
valor de un checkbox

Hola a todos.
He creado un formulario y dentro de este he insertado una tabla para ver información de los usuarios del foro que estoy diseñando en php. Un de las columnas de la tabla es un checkbox le he llamado id y en cada iteración (cada vez que obtengo la información de un nuevo usuario desde la base de datos) le asigno el valor del id del usuario correspondiente. Debajo de la tabla tengo un boton para enviar la información. Mi problema es que no se obtener la información.
Por ejemplo si tengo seleccionado el usuario 4, el 5 y el 6. Al enviar la información veo que id=4&id=5&id=6 pero si quiero acceder al valor de id solo hace referiencia al último valor asignado.

Alguien me puede ayudar o sugerir otra forma mejor de realizar lo que necesito.

Gracias.

Mando también el código por si acaso...

<Form action="eliminarUsuario.php" >
<table width="121%" border="1" align="center">
<tr>
<td width="6%"><font color="#000066" size="1">Eliminar</font></td>
<td width="14%"><div align="center"><font color="#000066" size="1">Nombre
Usuario </font></div></td>
<td width="16%"><div align="center"><font color="#000066" size="1">Nombre</font></div></td>
<td width="16%"><p align="center"><font color="#000066" size="1">Email</font></p></td>
<td width="9%"><div align="center"><font color="#000066" size="1">Fecha Alta</font></div></td>
<td width="10%"><div align="center"><font color="#000066" size="1">NºResp.
Escritas</font></div></td>
<td width="9%"><font color="#000066" size="1">Fecha Ultima Resp.</font></td>
<td width="9%"><font color="#000066" size="1">NºMensajes Escritos.</font></td>
<td width="11%"><font color="#000066" size="1">Fecha Ultimo Mensaje.</font></td>
</tr>
<?php
$cons2= "SELECT * from Usuarios";
$resul2=mysql_query($cons2,$conex);

while ($fila2 = mysql_fetch_row($resul2))
{
echo("<tr>
<td height=23><div align=center><font color=#333333 size=-3>
<input type=checkbox name=id value=$fila2[0]>
</font></div></td>
<td><div align=center><font size=-3>$fila2[1]</font></div></td>
<td><div align=center><font color=#333333 size=-3>$fila2[3]</font></div></td>
<td><div align=center><font color=#333333 size=-3>$fila2[4]</font></div></td>
<td><div align=center><font color=#333333 size=-3>$fila2[5]</font></div></td>
<td><div align=center><font color=#333333 size=-3> nresp</font></div></td>
<td><div align=center><font color=#333333 size=-3> fecaultima</font></div></td>
<td><div align=center><font color=#333333 size=-3> nmensa</font></div></td>
<td><div align=center><font size=-3> fechaulmensa</font></div></td>
</tr>");

}
?>
</table>
<p>
<input type="submit" name="Submit" value="Eliminar">
</Form>
  #2 (permalink)  
Antiguo 13/11/2002, 14:45
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Eso se soluciona poniendole de nombre id[], es decir name=id[]. En la pagina de destino accedes al array id[].

Un consejo, añade comillas a todos los valores de los atributos de los tag de HTML. Eso es lo que dice el standard y te ahorrara muchos problemas.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 13/11/2002, 15:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Mensaje Original por josemi
Un consejo, añade comillas a todos los valores de los atributos de los tag de HTML. Eso es lo que dice el standard y te ahorrara muchos problemas.

Suerte.
Sobre todo cuando esas variables q llamas en un value= .. tengan espacios .. xD ...

Y otro consejo .. usa "method" en tus definiciones de formularios .. sino se asume como metodo "GET" ..

Haciendo lo q te comenta Josemi .. en el script q envia esos checkbox .. puedes acceder al arry correspondiente con un bucle foreach por ejemplo:

(suponiendo q usastes method="POST" en tu <form ....>)

Código PHP:
foreach ($_POST['id'] as $ids){
echo 
$ids."<br>";

Un saludo,
  #4 (permalink)  
Antiguo 13/11/2002, 16:12
 
Fecha de Ingreso: noviembre-2002
Mensajes: 198
Antigüedad: 15 años, 1 mes
Puntos: 0
Muchisimas gracias a los dos. Me habeis resuelto el problema, gracias de nuevo.
  #5 (permalink)  
Antiguo 14/11/2002, 19:36
 
Fecha de Ingreso: noviembre-2002
Ubicación: mexico
Mensajes: 9
Antigüedad: 15 años, 1 mes
Puntos: 0
haber si esto te ayuda tienes que hacer un areglo o algo asi para que cada ID sea diferente

salu2,,,


<Form action="eliminarUsuario.php" >
<table width="121%" border="1" align="center">
<tr>
<td width="6%"><font color="#000066" size="1">Eliminar</font></td>
<td width="14%"><div align="center"><font color="#000066" size="1">Nombre
Usuario </font></div></td>
<td width="16%"><div align="center"><font color="#000066" size="1">Nombre</font></div></td>
<td width="16%"><p align="center"><font color="#000066" size="1">Email</font></p></td>
<td width="9%"><div align="center"><font color="#000066" size="1">Fecha Alta</font></div></td>
<td width="10%"><div align="center"><font color="#000066" size="1">NºResp.
Escritas</font></div></td>
<td width="9%"><font color="#000066" size="1">Fecha Ultima Resp.</font></td>
<td width="9%"><font color="#000066" size="1">NºMensajes Escritos.</font></td>
<td width="11%"><font color="#000066" size="1">Fecha Ultimo Mensaje.</font></td>
</tr>
<?php
include "conexiondb.php";
conecta($DbConn, "localhost") or die ("No me pude conectar a la BD");

$cons2= "SELECT * from usuarios";
$resul2=mysql_db_query("bdancvw", $cons2, $DbConn) or die ("Error al obtener el usuarios");

mysql_close ($DbConn);
$varid = 0;
while ($fila2 = mysql_fetch_row($resul2))
{

echo ("<tr>
<td height=23><div align=center><font color=#333333 size=-3>
<input type=checkbox name=id[$varid] value=$fila2[0]>
</font></div></td>
<td><div align=center><font size=-3>$fila2[1]</font></div></td>
<td><div align=center><font color=#333333 size=-3>$fila2[3]</font></div></td>
<td><div align=center><font color=#333333 size=-3>$fila2[4]</font></div></td>
<td><div align=center><font color=#333333 size=-3>$fila2[5]</font></div></td>
<td><div align=center><font color=#333333 size=-3> nresp</font></div></td>
<td><div align=center><font color=#333333 size=-3> fecaultima</font></div></td>
<td><div align=center><font color=#333333 size=-3> nmensa</font></div></td>
<td><div align=center><font size=-3> fechaulmensa</font></div></td>
</tr>");
$varid++;
}
?>
</table>
<p>
<input type="submit" name="Submit" value="Eliminar">
</Form>
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 21:55.