Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá estou com uma duvida cruel, rsrsrsrs.
Tenho duas tabelas uma categoria que pode ser a quantidade que for necessaria, e a outra a competição que a pessoa vai competir.
Consigo gravar os dados do checkbox de boa mas na hora de eu retornar com os dados dele marcados qual as competicoes a pessoa selecionou não estou conseguindo trazer.
Vou postar meu codigo.
<?php require_once("sistema/session.php"); ?>
<?php require_once("connections/connection.php"); ?>
<div><h1 class="title">Altereção Cadastro de Competidor</h1></div>
<div id="errosDeValidacao">
<p>Não foi possísvel continuar devido ao(s) seguinte(s) erro(s) de validação </p>
<ul>
<li><label for="competidor" class="error">O <strong>Nome do Competidor</strong> é obrigatório para o cadastro.</label></li>
<li><label for="apelido" class="error">O <strong>Apelido do Competidor</strong> é obrigatório para o cadastro.</label></li>
<li><label for="num_competidor" class="error">O <strong>Número do Competidor</strong> é obrigatório para o cadastro.</label></li>
</ul>
</div><!--errosDeValidacao-->
<div id="formulario">
<?php
$id_competidor = ($_GET['id']);
$link = connectDB();
$sql = "SELECT * FROM competidores WHERE id_competidor = '$id_competidor'";
$result = $link->query($sql);
$total = $result->num_rows;
while ($row = $result->fetch_assoc()) {
?>
<form name="update_competidor" id="update_competidor" action="script_noticias.php?acao=update_competidor" method="post" enctype="multipart/form-data">
<div class="rows" id="foto_competidor">
<label for="nome_arquivo">Imagem:</label>
<input type="text" id="img" value="Nenhum arquivo selecionado" readonly="readonly" size="30" />
<div class="fileEscondido">
<button class="botaoBlock"></button>
<input type="file" name="img[]" onchange="javascript: $('#img').val($(this).val())" />
</div>
</div>
<div class="rows">
<label for="competidor">Competidor: <strong>*</strong></label>
<input type="text" name="competidor" id="competidor" size="52" value="<?php echo $row['competidor']; ?>" />
</div>
<div class="rows">
<label for="apelido">Apelido: <strong>*</strong></label>
<input type="text" name="apelido" id="apelido" size="52" value="<?php echo $row['apelido']; ?>" />
</div>
<div class="rows">
<label for="num_competidor">Número: <strong>*</strong></label>
<input type="text" name="num_competidor" id="num_competidor" size="10" value="<?php echo $row['numero_comp']; ?>" />
</div>
<div class="rows">
<label for="endereco">Endereço:</label>
<input type="text" name="endereco" id="endereco" size="52" value="<?php echo $row['endereco']; ?>" />
</div>
<div class="rows">
<label for="cidade">Cidade:</label>
<input type="text" name="cidade" id="cidade" size="45" value="<?php echo $row['cidade']; ?>" />
</div>
<div class="rows">
<label for="estado">Estado:</label>
<select name="estado" type="text">
<option value="<?php echo $row['estado']; ?>"><?php echo $row['estado']; ?></option>
<option value="Acre">Acre</option>
<option value="Alagoas">Alagoas</option>
<option value="Amapá">Amapá</option>
<option value="Amazonas">Amazonas</option>
<option value="Bahia">Bahia</option>
<option value="Ceará">Ceará</option>
<option value="Distrito Federal">Distrito Federal</option>
<option value="Espírito Santo">Espírito Santo</option>
<option value="Goiás">Goiás</option>
<option value="Maranhão">Maranhão</option>
<option value="Mato Grosso">Mato Grosso</option>
<option value="Mato Grosso do Sul">Mato Grosso do Sul</option>
<option value="Minas Gerais">Minas Gerais</option>
<option value="Pará">Pará</option>
<option value="Paraíba">Paraíba</option>
<option value="Paraná">Paraná</option>
<option value="Pernambuco">Pernambuco</option>
<option value="Piauí">Piauí</option>
<option value="Pernambuco">Pernambuco</option>
<option value="Rio de Janeiro">Rio de Janeiro</option>
<option value="Rio Grande do Norte">Rio Grande do Norte</option>
<option value="Rio Grande do Sul">Rio Grande do Sul</option>
<option value="Rondônia">Rondônia</option>
<option value="Roraima">Roraima</option>
<option value="Santa Catarina">Santa Catarina</option>
<option value="São Paulo">São Paulo</option>
<option value="Sergipe ">Sergipe </option>
<option value="Tocantins">Tocantins</option>
</select>
</div>
<div class="rows">
<label for="equipe">Equipe:</label>
<input type="text" name="equipe" id="equipe" size="45" value="<?php echo $row['equipe']; ?>" />
</div>
<?php } ?>
<div class="label">Categoria:</div>
<div class="check">
<?php
$sql2 = "SELECT * FROM categorias ORDER BY id_categoria ASC";
$result2 = $link->query($sql2);
$total = $result2->num_rows;
while ($row2 = $result2->fetch_assoc()) {
?>
<label><?php echo $row2['categoria']; ?></label>
<input type="checkbox" name="categoria[]" value="<?php echo $row2['categoria_id']; ?>" <?php echo $checked; ?> />
<?php } ?>
</div>
<div class="rows btn_enviar">
<input type="submit" name="cadastrar" value="Cadastrar Competidor" class="submit" />
</div>
</form>
</div><!--Formulario-->
OBS.: quero que traga todas as categorias para que posso adicionar ou alterar quais foram selecionadas.
Já tentei fazer JOIN nas tabelas mas sem sucesso.
Outra opção é usar uma subquery
http://wbruno.com.br/php/como-trabalhar-com-array-de-checkboxes-opcionais-2/
Obrigado William Bruno fiz como explicou no link que me enviou e deu tudo certinho vlw msm.... um abraço.
Voce resolve isso com in_array
Segue um exemplo
http://forum.imasters.com.br/topic/535126-editar-e-atualizar-varios-checkbox/?p=2136956