Foros del Web » Programando para Internet » PHP »

Activar checbox dependiendo de una consulta

Estas en el tema de Activar checbox dependiendo de una consulta en el foro de PHP en Foros del Web. Hola buenos dias, molestando un ratin tengo una duda, estoy haciendo que por medio de una consulta despliego informacion, de la base de datos con ...
  #1 (permalink)  
Antiguo 09/12/2008, 09:38
rpm
 
Fecha de Ingreso: septiembre-2008
Ubicación: Estado de México
Mensajes: 84
Antigüedad: 15 años, 7 meses
Puntos: 1
Activar checbox dependiendo de una consulta

Hola buenos dias, molestando un ratin tengo una duda, estoy haciendo que por medio de una consulta despliego informacion, de la base de datos con checkbox pra que si seleccionan se guarde cierto campo de esa consulta, pero ahora requiero que cuando vulva a entrar, aparezca ya seleccionado el ckechbox que se selecciono la primera vez, se que se tiene que hacer la consulta de buscar lo que se selecciono pero la pregunta es como activo las casillas, muchas gracias por su ayuda de antemano. Dejo el código de la creacion de los ckekbox dinamicos.
<?php


while($row = mysql_fetch_array($sql)){


echo " <tr>";


echo "<td><input name=prueba[] type=checkbox value=".$row['productoId'] . ">".$row['productoId'] . "</td>";
echo " <td>".$row['fabrica_prod'] . "</td>";
echo " <td>". $row['nombre']. "</td>";
echo " <td>" . $row['material'] . "</td>";
echo " <td>" .$row['clasificacion']. "</td>";
echo " <td>". $row['color'] . "</td>";

echo " </tr>";
}
?>
  #2 (permalink)  
Antiguo 09/12/2008, 09:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Activar checbox dependiendo de una consulta

Hola rpm,

Para activar las casillas tienes que pasarles el atributo de checked="checked" para que esten marcadas.

Saludos.
  #3 (permalink)  
Antiguo 09/12/2008, 10:04
rpm
 
Fecha de Ingreso: septiembre-2008
Ubicación: Estado de México
Mensajes: 84
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Activar checbox dependiendo de una consulta

Muchas gracias por contestar pero la funcion cheked me selecciona todos, los haya seleccionado anteriormente o no, y pues lo que yo necesito es que por medio del resultado de una consulta, se seleccionen automaticamente o no, mucha gracias.
  #4 (permalink)  
Antiguo 09/12/2008, 10:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Activar checbox dependiendo de una consulta

Pues eso ya es un poco más avanzado, como es que guardas los datos de donde se guardan? Lo ideal para estos casos es que tengas una tabla 1:n, donde por cada id tengas multiples entradas de los checkbox, luego lo que haces es seleccionar todos los seleccionados, los guardas en un arreglo, y usas por ejemplo in_array para checar si el id actual esta seleccionado o no.

Saludos.
  #5 (permalink)  
Antiguo 09/12/2008, 10:22
rpm
 
Fecha de Ingreso: septiembre-2008
Ubicación: Estado de México
Mensajes: 84
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Activar checbox dependiendo de una consulta

Si, de hecho si tengo una tabla 1:N y de ahi selecciono, mira hice la consulta por fuera creando otros cheked y si me los selecciona te la dejo pero no logro hacerlo en los mismos cheked, gracias

<?

$con = mysql_connect($bd_host, $bd_usuario, $bd_password);
mysql_select_db($bd_base, $con);
$indice=$_POST['indice'];
$sql2=mysql_query("Select * from productos_clientes where indice='$indice'",$con);

while($row2 = mysql_fetch_array($sql2)){

$numelentos = count($row2['producto']);

for ($i=2; $i < $numelentos; $i++)
echo($numelementos);
{
echo("ID $row2[$i]");
echo("<input name=2[] type=checkbox checked value=".$row2[$i] . ">".$row2[$i] . "");
}
}
?>


Y esta es la consulta para crear la primera lista con los cheked:

$con = mysql_connect($bd_host, $bd_usuario, $bd_password);
mysql_select_db($bd_base, $con);
$indice=$_POST['indice'];
$nom=$_POST['nomCliente'];
$tel=$_POST['clientesTelefono'];
$emp=$_POST['clientesEmpresa'];

$row = mysql_fetch_array($sql);
$sql=mysql_query("SELECT * FROM catalogo",$con);

while($row = mysql_fetch_array($sql)){


echo " <tr>";


echo "<td><input name=1[] type=checkbox checked value=".$row['productoId'] . ">".$row['productoId'] . "</td>";
echo " <td>".$row['fabrica_prod'] . "</td>";
echo " <td>". $row['nombre']. "</td>";
echo " <td>" . $row['material'] . "</td>";
echo " <td>" .$row['clasificacion']. "</td>";
echo " <td>". $row['color'] . "</td>";

echo " </tr>";
}
?>
  #6 (permalink)  
Antiguo 09/12/2008, 10:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Activar checbox dependiendo de una consulta

Como te comente tienes que pasar los checados a un arreglo, y posteriormente cuando estes imprimiendo todos usas in_array para ver si estan checados. Un ejemplo:
Código php:
Ver original
  1. <?php
  2. $checked = '';
  3. if(in_array($row['productoid'], $arrayDeChecados)) {
  4.       $checked = ' checked="checked"';
  5. }
  6.  
  7. echo "<td><input name=\"1[]\" type=\"checkbox\" value=\"".$row['productoId'] . "\"$checked>".$row['productoId'] . "</td>";

Saludos.
  #7 (permalink)  
Antiguo 09/12/2008, 17:36
rpm
 
Fecha de Ingreso: septiembre-2008
Ubicación: Estado de México
Mensajes: 84
Antigüedad: 15 años, 7 meses
Puntos: 1
ok, muchas gracias deja checarlo y te comento que paso, saludos

Hola, perdon por la tardansa para comentar mis resultados, ok pero lo que tu me comentaste lo hice y no me salio, lo hice por separado y me muestra el resultado perolo que pasa es que la 1 era consulta es apra mostrar toda la informacion, despues de eso se asigna alguno de ellos, pero si yo hago el in_array no me lo ejecuta en el mismo lugar no se si me di a entender.

Última edición por GatorV; 30/01/2009 a las 13:33
  #8 (permalink)  
Antiguo 18/12/2008, 17:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Activar checbox dependiendo de una consulta

Estudia el método que te digo, tienes que primero descargar los que ya estan checados, al menos sus "ids" y luego con el in_array es con el que compruebas a la hora de dibujar tus checkbox si estan o no checados.

Saludos.
  #9 (permalink)  
Antiguo 18/12/2008, 17:15
rpm
 
Fecha de Ingreso: septiembre-2008
Ubicación: Estado de México
Mensajes: 84
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Activar checbox dependiendo de una consulta

$sql=mysql_query("Select * from productos_clientes where indice='$indice' order by producto asc" ,$con);

while($row2 = mysql_fetch_array($sql2)){

$numelentos = count($row2['producto']);

for ($i=2; $i < $numelentos; $i++)
echo($numelementos);
{

echo("<input name=subpregunta2[] type=checkbox checked value=".$row2[$i] . ">".$row2[$i] . "");
}


}

Este es el codigo que utilizo para sacar los que ya fueron asignados la primera ocasion ahora deja analizar loq eu me comentas y te digo que paso de antemano muchisimas gracias pro contestar
  #10 (permalink)  
Antiguo 30/01/2009, 12:46
rpm
 
Fecha de Ingreso: septiembre-2008
Ubicación: Estado de México
Mensajes: 84
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Activar checbox dependiendo de una consulta

Hola, tarde pero contesto, bueno pues por fin me quedo, hice 2 consultas, impirme cada una de ellas una me muestra actvados los que ya fueron ingresados, la otra los libres, con la opcion checked, muchas gracias GatorV.

Saludos.

Tema terminado.
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 05:56.