Foros del Web » Programando para Internet » PHP »

Mas de CheckBox ayuda!!

Estas en el tema de Mas de CheckBox ayuda!! en el foro de PHP en Foros del Web. Hola coye he buscado y probado ya distintas formas y nada que doy con la solución a ver si me pueden ayudar: Tengo en una ...
  #1 (permalink)  
Antiguo 02/09/2008, 15:30
Avatar de 001dsap001  
Fecha de Ingreso: enero-2008
Ubicación: Venezuela
Mensajes: 56
Antigüedad: 16 años, 3 meses
Puntos: 1
Pregunta Mas de CheckBox ayuda!!

Hola coye he buscado y probado ya distintas formas y nada que doy con la solución a ver si me pueden ayudar:

Tengo en una Base de Datos de Miembros un cantidad de personas con un Status de Operativos, necesito que eso se me liste cada uno con un checkbox, eso esta listo bien, luego quiero separar de esos los que la persona seleccione, listo ya lo tengo, pero ahora el problema es:

que solo me muestra el id de la persona que seleccione como puedo hacer para que me muestre de los seleccionados otros campos que salen en la base de datos?

Anexo el codigo que llevo hecho

Código PHP:
$conect mysql_connect('localhost''BASE''CLAVE');if (!$conect) {die('Ha fallado la conexión: ' mysql_error());
}
$db mysql_select_db('TABLA'$conect);if (!$db) {die ('Ha fallado la conexión: ' mysql_error());
}
$sql="SELECT * FROM miembros WHERE Status = 'Operativo'";
$sql=mysql_query($sql,$conect);
echo 
'<form method="POST" action="test.php">';
while (
$row=mysql_fetch_array($sql)){
echo 
'<input type="checkbox" name="Operativos[]" value="'.$row["Miembro"].'">'.$row["Nombre"].' '.$row["Apellido"].'<br>';
}
echo 
'<input type="Submit" name="Enviar" value="Agregar"></form>';

if (isset(
$_POST["Enviar"])){
$Seleccionado$_POST["Operativos"];
for(
$i=0;$i<count($Seleccionado);$i++){
// Aqui es donde quiero que me muestre el nombre y el apellido del miembro selccionado anteriormente
echo $Seleccionado[$i].'<br>';
}

espero que me puedan ayudar con esta!!

Saludos!!!
  #2 (permalink)  
Antiguo 02/09/2008, 15:34
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Podrias listar al igual que los checkbox, informacion de cada uno de los operativos mediantes campos hidden!

Saludos!

Los nombres de los campos hidden los concatenas con el id del mienbro de esta manera puedes verificar si fue seleccionado o no!

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Última edición por GatorV; 02/09/2008 a las 16:18
  #3 (permalink)  
Antiguo 02/09/2008, 15:46
Avatar de 001dsap001  
Fecha de Ingreso: enero-2008
Ubicación: Venezuela
Mensajes: 56
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Mas de CheckBox ayuda!!

No me funciona por que me muestra nombres distintos como si en vez de tomar solo los miembros selccionados me tomara todo los Opertivos aqui va lo que cambie:



Código PHP:
while ($row=mysql_fetch_array($sql)){
echo 
'<input type="hidden" name="Nombres[]" value="'.$row["Nombre"].' '.$row["Apellido"].'">
<input type="checkbox" name="Operativos[]" value="'
.$row["Miembro"].'">'.$row["Nombre"].' '.$row["Apellido"].'<br>';
}

//El nombre que muestra no corresponde a la selección hecha anteriormente aunque el campo $Seleccionado si me tare el id correcto
if (isset($_POST["Enviar"])){
$Nombres $_POST["Nombres"];
$Seleccionado$_POST["Operativos"];
for(
$i=0;$i<count($Seleccionado);$i++){
echo 
$Nombres[$i].'<br>';
}

  #4 (permalink)  
Antiguo 02/09/2008, 15:53
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Mas de CheckBox ayuda!!

nop, esta mal, dije q el nombre de los tipos hidden los concatenaras con el id que generas
nombre.echo $row['miembro'];
por ejemplo.

Esto es para que no se repitan y a la vez cuando retomas los valores puedas hacerlo facil con el id.

saludos!
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 02/09/2008, 16:15
Avatar de 001dsap001  
Fecha de Ingreso: enero-2008
Ubicación: Venezuela
Mensajes: 56
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Mas de CheckBox ayuda!!

ok creo que si funciona visualmente:

Código PHP:
<input type="checkbox" name="Operativos[]" value="'.$row["Nombre"].' '.$row["Apellido"].' '.$row["Miembro"].'">'.$row["Nombre"].' '.$row["Apellido"].'<br>; 

pero ahora tengo todos los campos unidos en una sola variable... y no me funciona :S de ese modo ya que con esos seleccionados debos agregarles una condicion extra en la base de datos..

si hay otro forma de haerlo porfa estoy pendiente :P
  #6 (permalink)  
Antiguo 02/09/2008, 20:49
Avatar de 001dsap001  
Fecha de Ingreso: enero-2008
Ubicación: Venezuela
Mensajes: 56
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Mas de CheckBox ayuda!!

hay alguna de forma de poder separar las variables enviadas?

se me ocurre mezclando el while con el for algo asi es posible?
  #7 (permalink)  
Antiguo 02/09/2008, 21:48
Avatar de 001dsap001  
Fecha de Ingreso: enero-2008
Ubicación: Venezuela
Mensajes: 56
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Mas de CheckBox ayuda!!

Ok creo que lo solucione!!!!

les copio los cambios nada mas

GRACIAS!!!

Código PHP:
$sql="SELECT * FROM miembros WHERE Status = 'Operativo'";
$sql=mysql_query($sql,$conect);
echo 
'<form method="POST" action="test.php">';
while (
$row=mysql_fetch_array($sql)){
echo 
'
<input type="checkbox" name="Operativos[]" value="'
.$row["Miembro"].'">'.$row["Nombre"].' '.$row["Apellido"].'<br>';
}
echo 
'<input type="Submit" name="Enviar" value="Agregar"></form>';

if (isset(
$_POST["Enviar"])){
$Seleccionado$_POST["Operativos"];
for(
$i=0;$i<count($Seleccionado);$i++){
$Sel mysql_query("SELECT * FROM miembros WHERE Miembro = '".$Seleccionado[$i]."'"$conect); 
echo 
mysql_result($Sel0"Nombre").' '.mysql_result($Sel0"S_Nombre").'<br>';
}

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 02:10.