Foros del Web » Programando para Internet » PHP »

While, for... Como hago que se marquen los checkbox sin que se repitan.

Estas en el tema de While, for... Como hago que se marquen los checkbox sin que se repitan. en el foro de PHP en Foros del Web. Muy buenas, estoy intentando generar de manera automática una lista de checkbox y que aparezcan marcados únicamente los que están previamente guardados en un array, ...
  #1 (permalink)  
Antiguo 23/06/2013, 21:29
lac
 
Fecha de Ingreso: octubre-2012
Ubicación: El Salvador
Mensajes: 27
Antigüedad: 12 años
Puntos: 0
Pregunta While, for... Como hago que se marquen los checkbox sin que se repitan.

Muy buenas, estoy intentando generar de manera automática una lista de checkbox y que aparezcan marcados únicamente los que están previamente guardados en un array, los nombres y y demás datos del checkbox se sacan de una base de datos, tengo este código:

Código PHP:
<?php
                      $conexion
= new mysqli($cfg_server,$cfg_username,$cfg_password,$cfg_database);
                      
$ex=$conexion->query("select exhibiciones from reservas where id_reservas = '".$_GET['idr']."'");
                      
                    
$exh=$ex->fetch_array();
                        
$id_ex=explode(",",$exh[0]);

                      
$sql="select * from exhibiciones";
                      
$exh1=$conexion->query($sql);
                      
                      while (
$result=$exh1->fetch_array()) {

                        for (
$i=0$i count($id_ex); $i++) {  
                          
$j=$i;$i=count($id_ex);
                        }
                        
                          if (
$result[0]==$id_ex[$j]) {
                            echo 
"<p>
                                  <input type='checkbox' name='"
.$result[0]."' id='".$result[0]."' checked>
                                  <label>"
.$result[1]."</label>
                            </p>"
;
                          echo 
"<script>alert(' e ".$result[0].": ".$id_ex[$i]."');</script>";
                          }else{
                            echo 
"<p>
                                  <input type='checkbox' name='"
.$result[0]."' id='".$result[0]."' >
                                  <label>"
.$result[1]."</label>
                            </p>"
;
                          }
                      }
                   
?>
Pero tengo un error el cual provoca que se repitan todos los checkbox la misma cantidad de veces que se repite el for, no se como solucionarlo... se que tiene que ver con el hecho que tengo el for dentro del while y la manera en la que el while funciona junto con el fetch_array() pero no se me ocurre como solucionarlo.

Espero me puedan ayudar, Gracias.
  #2 (permalink)  
Antiguo 25/06/2013, 13:50
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: While, for... Como hago que se marquen los checkbox sin que se repitan.

aparezcan marcados únicamente los que están previamente guardados en un array
http://www.php.net/manual/es/function.in-array.php
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: mysqli
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 10:30.