Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leandro Vieira Pinho

Entendendo melhor os checkbox

Recommended Posts

Olá Pessoal!Estou precisando desenvolver o seguinte.Vários checkbox assim:V maçãV laranjaV goiabaV mamãoV ...E estes dados ir para um campo chamada frutas.Então como eu devo proceder para que se todos ou partes dos checkbox forem selecionados, os dados irem para o db?E depois como resgastar os dados para não aparecer assim:maça laranja goiaba mamãoe sim assim:maçalaranjagoiabamamãoobrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao cara, teve um topico sobre isso a pouco tempo...vou dar um exemplo de uso:// inputscheckbox name="check[]" value="maca; "checkbox name="check[]" value="peira; "checkbox name="check[]" value="acai; "//para retornar por php

<?=@$_POST["check"][0] . @$_POST["check"][1] . @$_POST["check"][2];?>

entendeu ?quando voce poe o name do check de palava[], transforma ele numa array e pode ser chamado $_POST["palavra"][n], so que quando nao selecionam o campo "nao existe" em php, eu guardo tudo numa variavel so, se nao existir, nao muda nada, rsss, o @ esconde o erro ^^[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

huEJeMeiJEheuiHUeHé que eu nunca tinha pensando em usar implode para isso, otima ideia do AAlves,mais e voce fabyo faz como ? ps: eu nunca sumo, voce que me bloquio e esqueceu de mim =/[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo:

 

PHP

[*]<form method="POST" action="ch2.php"><br /><input type="checkbox" name="UF[]" value="DF">DF<br><br /><input type="checkbox" name="UF[]" value="BA">BA<br><br /><input type="checkbox" name="UF[]" value="CE">CE<br><br /><input type="checkbox" name="UF[]" value="RS">RS<br><br /><input type="checkbox" name="UF[]" value="SC">SC<br><br><br /><input type="submit" value="Botão"><br /></form>

- Página 2 (ch2.php)

 

PHP

[*]<?<br />$options = $_GET['UF'];<br />$options_text = implode('<br> ',$options);<br />echo '<p>Opções escolhidas: '.$options_text;<br />?>

B)

<{POST_SNAPBACK}>

Legal AAlves, funfou legal.

 

Só gostaria de entender melhor o funcionamento da função implode.

 

Detalhe,

 

tipo agora gravo e resgato os dados legal.

 

Mas quanto eu for por exemplo editar os dados, como posso proceder para mostrar somentes os checkbox selecionados, (se estes for escolhido.)

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mostra os selecionados.Mas me refiro ao seguinte.Suponhamos que temos 3 opções assim:carromotobicicletaaí você marca, carro e bicicleta, então essas opções foram gravadas no banco.Então suponhamos que preciso alterar as opções selecionadas, e nesta página para alterar as opções escolhidas, preciso mostrar os dados que foram selecionados anteriormente. Para o cliente saber o que marcou e poder alterar.Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

só você fazer assim, vamos supor que você tenha um campo chamado selecionado

dai você seta ele para 1 se for selecionado e 0 se nao for selecionado, e o campo que eu coloquei no exemplo abaixo é o campo onde esta o nome das frutas

 

e só montar um loop simples

 

while ($row = mysql_fetch_assoc($re)) {

$checked = "";

if ($row["selecionado"] == 1)

 

  $checked = "checked='checked' ";

  echo "".$row["campo"]."

";

 

}

 

se você nao entendeu ou nao conseguiu adaptar esse exemplo posta ai que eu explico pra você :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara nunca tinha testado fazer algo assim, agora estou precisando e apanhando um tiquim.Vamos começar do início (lógico rs..).meu form:<form method="post" action="trabalhando_checkbox.php">Nome: <input type="text" name="nome" id="nome" /><br /><input type="checkbox" name="frutas[]" value="Maça" />Maça<br /><input type="checkbox" name="frutas[]" value="Laranja" />Laranja<br /><input type="checkbox" name="frutas[]" value="Goiaba" />Goiaba<br /><input type="checkbox" accept="frutas[]" value="Pêra" />Pêra<br /><input type="submit" value="Cadastrar" id="submit" name="submit" /></form>minha tabela no db:CREATE TABLE `check` ( `id` int(11) NOT NULL auto_increment, `nome` varchar(255) NOT NULL default '', `frutas` varchar(255) NOT NULL default '', PRIMARY KEY (`id`)) TYPE=MyISAM;meu códico php para inserção ao db:<?if(isset($_POST['submit'])) {mysql_connect("localhost","root","");mysql_select_db("rapidim");$nome = $_POST['nome'];$frutas = $_POST['frutas'];$insert = ("INSERT INTO check (nome, frutas) VALUES ('$nome', '$frutas')");mysql_query($insert) or die(mysql_error());}?>erro que está retornando:You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'check (nome, frutas) VALUES ('Leandro', 'Array')' at line 1obrigado pessoal pelo apoio

Compartilhar este post


Link para o post
Compartilhar em outros sites
    foreach($_POST["frutas"] as $fruta)

    {

        mysql_query("INSERT INTO check VALUES ('$nome', '$fruta')");

    }

 

é +- isso que você tem que fazer mas da pra melhorar mais isso ai, pois só foi um exemplo, na real nao se grava o nome varias vezes e sim se cria um relacionamento entre as tabelas

 

mais alguma duvida posta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

brother desculpe,mas o erro ainda persiste.esta parte não entendi.

nao se grava o nome varias vezes e sim se cria um relacionamento entre as tabelas

Desculpe o incômodo e que estou precisando muito disso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao sei se você ta fazendo esse script pra aprender ou é um trabalho mesmo

,se for o que eu falei é sobre modelagem de dados, você nao deve gravar do jeito que esta ali o nome repetidas vezes o que você faz é uma referencia para a tabela usuarios ou clientes, o que seja

 

tipo assim:

 

tabela times

id

nome_time

 

01

palmeiras

 

02

sao paulo

 

03

corinthians

 

tabela usuario

id

nome_usuario

 

quando você for gravar qual time o usuario torce você nao vai gravar

 

por exemplo

 

joão

sao paulo

 

você vai gravar

 

joao

2

 

porque o 2 é o id da tabela time que representa o sao paulo

 

desculpa se você nao entender é a pressa to no trampo

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sim, quanto a relação peguei legal.Mas o que não estou conseguindo, é enviar para o db, os dados selecionados no checbox, a não ser que este tenha soment um valor. Assim não funfou:foreach($_POST["frutas"] as $fruta) { mysql_query("INSERT INTO check VALUES ('$nome', '$fruta')"); }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.