Ir para conteúdo

POWERED BY:

Arquivado

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

Edu Apokalipse

Cadastrando valores de checkbox com PHP em banco MySQL

Recommended Posts

Boa tarde galera!

Sou novo no fórum, e já chego pedindo ajuda, hueheauhea

É o seguinte:

 

Estou desenvolvendo um sistema de aluguel de ginásios esportivos.

Na tela que cadastro os ginásios, preciso que o usuário informe as modalidades que o ginásio esportivo oferece.

Eu pensei em fazer a tela com vários checkboxes, cada um com uma modalidade, e o cara ia marcando as que o ginásio dele têm.

 

Vejam o exemplo:

 

TELA DE CADASTRO (parte dos checkboxes das modalidades, onde o usuário marcará as opções de acordo com o seu ginásio)

<div class="bloco1_modalidades">
       <span><input type="checkbox" name="modalidade1" value="Poliesportiva"/>Poliesportiva</span><br>
       <span><input type="checkbox" name="modalidade2" value="Basquete"/>Basquete</span><br>
       <span><input type="checkbox" name="modalidade3" value="Futebol"/>Futebol</span><br>
       <span><input type="checkbox" name="modalidade4" value="Futebol Society"/>Futebol Society</span><br>
       <span><input type="checkbox" name="modalidade5" value="Futsal"/>Futsal</span><br>
       <span><input type="checkbox" name="modalidade6" value="Squash"/>Squash</span><br>
       <span><input type="checkbox" name="modalidade7" value="Tênis"/>Tênis</span><br>
       <span><input type="checkbox" name="modalidade8" value="Vôlei"/>Vôlei</span><br>                        
       <span><input type="checkbox" name="modalidade9" value="Handebol"/>Handebol</span><br>
</div>


 

 

ARQUIVO QUE RECEBE OS DADOS VIA POST:


<?php
$modalidades = array(); //CRIA UMA ARRAY

for($x=1; $x<=9; $x++){ //INÍCIO DO LOOP QUE VERIFICA QUAIS CHECKBOX ESTÃO MARCADOS
   if(isset($_POST["modalidade$x"])) { //SE ALGUM ESTIVER MARCADO INSERE SEU VALOR NA ARRAY
       $modalidades[] = $_POST["modalidade$x"];
   }
}
?>

 

 

Agora vem o problema.

E como eu vou extrair estes dados do array e gravar os checkbox marcados pelo usuário no meu banco (mysql) ?

Como vocês acham que eu devo colocar os campos na tabela "Ginásios" ? Ou eu devo criar uma tabela especial, só para cadastrar as modalidades?

 

Se vocês conhecerem tutoriais de como fazer esse tipo de coisa, ou se disporem em me ajudar com o código, eu agradeço muito!

 

Grande abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Edu,

 

A forma mais simples e eficaz de você obter estes checkboxes marcados, seria algo neste sentido:

 

<input type="checkbox" name="modalidades[]" value="Poliesportiva" />
<input type="checkbox" name="modalidades[]" value="Basquete" />
<input type="checkbox" name="modalidades[]" value="Futebol" />

 

Note que todos os valores da propriedade name são iguais e fazendo dele um vetor. E para fins de teste, você poderá ver quais foram selecionados da seguinte maneira:

 

print_r($_POST['modalidades']);

 

Pronto, a partir daí acredito que você já sabe o que fazer. :)

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

A tabela Ginasio tem tipo "local, piso, tamanho, capacidDePessoas" e você quer adicionar o campo modalidades?

 

Assim n vai dar pois a tabela é constituida por uma unica "casa" por linhaXcoluna e como pode ter mais de uma modalidade isso n vai dar certo

 

 

Crie na tabela ginasio o campo "GinasioCod" e na tabela modalidade crie "Basquete, futsal, etc.... e o GinasioCod"

 

na hora de exibir na tela você faz

 

select * from ginasio where ginasionome=$varGinasioNome

guarde o ginasioCod numa variavel exemplo GginasioCod

e na msm pag exiba

 

select * from modalidade where ginasiocod=$GginasioCod

 

 

 

assim s[o vai exibir as modalidades que estáo com o GinasioCod igual o do ginasio, O user não vai saber de nda, para ele vai ser como uma tabela que você vai montar no PHP. É bem simples essa idéia e mto util

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.