Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
Estou enfrentando um problema a dias e resolvi recorrer ao forum, acho que com ajuda e experiencia de você eu posso conseguir alguma resposta.
Preciso resgatar valores de checkBox ja preenchidas, vindo do MYSQL
Segue minha estrutura
MYSQL
CREATE TABLE `tb_cast` (
`id_cadastro` varchar(36) NOT NULL DEFAULT '',
`id_codigo` varchar(50) DEFAULT NULL,
`resp_nome` varchar(50) DEFAULT NULL,
`menor_habilidades` varchar(250) DEFAULT NULL,
PRIMARY KEY (`id_cadastro`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Form de cadastro
<input type="checkbox" name="menor_habilidades[]" id="Lê" value="hab01" />
<label for="Lê" class="opt">Lê</label>
<input type="checkbox" name="menor_habilidades[]" id="Escreve" value="hab03" />
<label for="Escreve" class="opt">Escreve</label>
<input type="checkbox" name="menor_habilidades[]" id="Fala" value="hab04" />
<label for="Fala" class="opt">Fala</label>
<input type="checkbox" name="menor_habilidades[]" id="Dança" value="hab05" />
<label for="Dança" class="opt">Dança</label>
<input type="checkbox" name="menor_habilidades[]" id="Canta" value="hab06" />
<label for="Canta" class="opt">Canta</label>
<input type="checkbox" name="menor_habilidades[]" id="Interpreta" value="hab07" />
<label for="Interpreta" class="opt">Interpreta</label>
Insert no Mysql
$campos_habilidade = ""; // crio a variável $campos, que será adicionado os valores a partir do foreach
$adiciona = ", "; // esse campo tem o valor que será adicionado para separar cada item enviado
$mais = 0; // esse é um valor que vai ser incrementado, para adicionar ou não o $adiciona ( vírgula para separar os itens )
foreach($_POST['menor_habilidades'] AS $valor) { // separo cada e armazeno em $valor
$mais++; // incremento $mais, 0, 1, 2, ...
// aqui eu faço a adição ou não da vírgula para separar cada item
// além de mandar os valores para $campos
if($mais < count($_POST['menor_habilidades'])) {
$campos_habilidade.=$valor.$adiciona; $id_codigo = $randomCodigo;
$resp_nome = $_POST['resp_nome'];
$sql = "insert into tb_cast ( id_cadastro, id_codigo, resp_nome, menor_habilidades) ";
$sql .= "values ( uuid(), '$id_codigo', '$resp_nome', '$campos_habilidade' )";
Até aqui tudo beleza, grava, com ", "virgula + espaco, tranquilo, no mesmo campo.
Aqui vem o problema!
****
Select dos dados
$re = mysql_query("SELECT * FROM tb_cast WHERE id_cadastro = '$idcast'");
while($l = mysql_fetch_array($re))
{
$id = $l["id_cadastro"];
$id_codigo = $l["id_codigo"];
$resp_nome = $l["resp_nome"];
$menor_habilidades = $l["menor_habilidades"];
}
$menor_habilidades = explode(", ", $l["menor_habilidades"]);
for($i=0; $i<sizeof($menor_habilidades); $i++){
//echo $menor_habilidades[$i]; // Apenas para testar o echo
}
HTML com os Checks
<input name="menor_habilidades[]" type="checkbox" id="Lê" value="hab01" <?php if (!(strcmp("hab01", $menor_habilidades[$i]))) {echo "checked=\"checked\"";} ?>/>
<input type="checkbox" name="menor_habilidades[]" id="Escreve" value="hab02"
<?php if (!(strcmp("hab02", $menor_habilidades[$i]))) {echo "checked=\"checked\"";} ?>/>
<input type="checkbox" name="menor_habilidades[]" id="Fala" value="hab03" <?php if (!(strcmp("hab03", $menor_habilidades[$i]))) {echo "checked=\"checked\"";} ?>/>
<input type="checkbox" name="menor_habilidades[]" id="Dança" value="hab04" <?php if (!(strcmp("hab04", $menor_habilidades[$i]))) {echo "checked=\"checked\"";} ?>/>
<input type="checkbox" name="menor_habilidades[]" id="Canta" value="hab05" <?php if (!(strcmp("hab05", $menor_habilidades[$i]))) {echo "checked=\"checked\"";} ?>/>
<input type="checkbox" name="menor_habilidades[]" id="Interpreta" value="hab06"<?php if (!(strcmp("hab06", $menor_habilidades[$i]))) {echo "checked=\"checked\"";} ?> />
Na hora de resgatar e apresentar os dados que estão selecionados (checked), nao estou conseguindo trazer no laco e jogar nos campos dos Checks
Alguem tem alguma ideia do que pode esta ocorrendo
Se ajudar, este erro é apresentado
echo do Explode: hab01hab04hab06
Erro
Notice: Undefined index: acao in /Users/mycomp/Desktop/SITEs/clienteTeste/admin/cadastro_alterar.php on line 631
Essa linha 631, é onde eu resgato o valor para os Checks no HTML, ele apresenta um erro para cada CheckBox
Carregando comentários...