Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Problemas com Checkbox[ ] multiplo

$
0
0

Olá pessoal, estou com um problema para recuperar dados do BD Mysql e exibir nos checkbox multiplos. Alguém poderia ajudar? 

 

Tenho um formulario de cadastro extenso onde o usuário seleciona várias opções entre <input type="text"> e <input type="checkbox" >

Meu banco possui várias tabelas e eu as uno com uma chave estrangeira. Uma das tabelas em que gravo os check box possui a seguinte estrutura.

 

[ code ] 

create table infraareacomum(

    id int primary key auto_increment,
    areacomum varchar (250),
    id_anuncio int,
    foreign key (id_anuncio) references anuncio(idanuncio) on delete cascade
);

 [ /code ]

 

A parte de cadastro funcionou muito bem. Para cadastrar os multiplos check box estou usando um foreach

 

Para cadastrar:

[ code ]

...

foreach ($areacomum as $key => &$val) {
                $sql3 = "INSERT INTO infraareacomum VALUES (null, '". $val."','".$id_anuncio."')";
                 if(mysqli_query($con, $sql3)){
                     var_dump($areacomum);
                 }

 

            }
...

 

 [ /code ]

 

Segue um trecho do meu formulario de cadastro onde o usuario seleciona os checkbox. Há mais de 40 itens. Ele possui a seguinte estrutura:

 

[ code ] 

<label>Nas Áreas Comuns:</label><br>

                                          <div class="form-group">
                                           <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Bar"> Bar 
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Restaurante"> Restaurante 
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Churrasqueira"> Churrasqueira 
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Piscina"> Piscina 
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Vista Panorâmica"> Vista Panorâmica
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Jardim"> Jardim 
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Estacionamento"> Estacionamento
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Sala de TV"> Sala de TV
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Salão de Jogos"> Salão de Jogos 
                                           </label>

 [ /code ]

 

Agora meu problema é o seguinte:

São multiplos checkbox, preciso que o usuario possa edita-los, para isso deve-se carregar o formulário de edição identico ao de cadastro, porém mostrando os dados que foram cadastrados no banco. Os campos texto funcionara bem, porém o checkbox não vem preenchido. Quando consigo que venha ele só carrega a primeira opção.

 

Meu codigo:

[ code ] 

 <?php

               
        $sql = "SELECT areacomum FROM infraareacomum WHERE id_anuncio = '$id' LIMIT 1" ; 
        $result = mysqli_query($con, $sql);
//        $row = mysqli_num_rows($result);
        $row = mysqli_fetch_array($result);
       //while($row = mysqli_fetch_array($result)){
            
        ?>
                                           
                                          <div class="form-group">
                                           <label class="checkbox-inline">
                                                                                                                           
                                            <input type="checkbox" name="areacomum[]" value="Bar" <?php if($row == 'Bar') { echo "checked='checked'"; } ?>> Bar 
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Restaurante" <?php if($row == 'Restaurante') { echo "checked='checked'"; } ?>> Restaurante 
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Churrasqueira"<?php if($row["areacomum"] == 'Churrasqueira') { echo "checked='checked'"; } ?>> Churrasqueira 
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Piscina" <?php if($row["areacomum"] == 'Piscina') { echo "checked='checked'"; } ?>> Piscina 
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Vista Panorâmica" <?php if($row["areacomum"] == 'Vista Panorâmica') { echo "checked='checked'"; } ?>> Vista Panorâmica
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Jardim"<?php if($row["areacomum"] == 'Jardim') { echo "checked='checked'"; } ?>> Jardim 
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Estacionamento"<?php if($row["areacomum"] == 'Estacionamento') { echo "checked='checked'"; } ?>> Estacionamento
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Sala de TV"<?php if($row["areacomum"] == 'Sala de TV') { echo "checked='checked'"; } ?>> Sala de TV
                                           </label>
                                            <label class="checkbox-inline">
                                            <input type="checkbox" name="areacomum[]" value="Salão de Jogos"<?php if($row["areacomum"] == 'Salão de Jogos') { echo "checked='checked'"; } ?>> Salão de Jogos 
                                           </label>
                                           
                                           </div>
 [ /code ]
 

Viewing all articles
Browse latest Browse all 14190