Jump to content


Photo

Checkbox Php Multi-Funcional


  • Faça o login para participar
14 replies to this topic

#1 usuariomais

usuariomais

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 17/11/2011, 09:31

Olá pessoal!

Estou precisando da ajuda da galera deste fórum! Vamos lá =)

Tenho um banco de dados chamado TREINAMENTO na qual tem várias campos, como ex: NOME, INICIO, CPF, e etc., inclusive os campos chamados P1dia, P2dia, P3dia, P4dia, P5dia, até o P30dia.

Atualmente, coloquei um monte de checkbox para cada dia, a minha ideia seria, colocar um único checkbox para confirmar a presença das pessoas em sala para cada dia, ou seja, o primeiro dia o campo ficasse em branco, quando eu clicar no checkbox, ele lançasse para o BD no campo P2dia, e no segundo dia, ele clicasse no campo checkbox para marcar presença no segundo dia, no campo P2dia, e assim sucessivamente, até o P30dia.

Sei que neste caso, é necessário uma função, uma lógica para fazer isso, podem me ajudar?

Obrigado e no aguardo!

#2 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/11/2011, 10:11

@ USUARIOMAIS
Se entendi direito você quer saber como salvar no banco é isso mesmo? Fora esta tabela que tu disse, o que mais você fez?

Falopa!

#3 usuariomais

usuariomais

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 17/11/2011, 10:18

@hostdesigner

Então! Já tenho a parte de enviar e receber os dados no modo que apareçe todos os checkbox! Mais neste caso estou encontrando problema para resolver, ainda não comecei a fazer desta forma, porque não sei por onde começar.

Obrigado e no aguardo!

#4 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/11/2011, 10:23

@ USUARIOMAIS
Pra te dizer a verdade ainda não entendi exatamente o que você precisa, se você tem os campos e precisa apenas marca-los e salvar no banco, é só enviar o formulário...

Falopa!

#5 usuariomais

usuariomais

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 17/11/2011, 10:41

@hostdesigner

Então! Isso ele já faz! porém o que estou utilizando ele aparece vários campos, como o exemplo abaixo:

Posted Image

Porém quero que fique assim:

Posted Image

Que quando for o 2º dia do treinamento ele já marque P2dia no BD, sem a necessidade de mostrar um monte de checkbox...

entendeu?

Ou seja teria que criar uma condição que ele saiba se o hoje é o P2dia;;; se isso claro, for possivel ;...

Edição feita por: usuariomais, 17/11/2011, 10:44.


#6 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/11/2011, 10:47

@ USUARIOMAIS
Agora fez sentido... Os dias que já foram marcados não aparecerem mais

/** something */
foreach( $seuArrayBD as $seuArray )
{
if( empty( $seuArray['campo'] ) ){
echo $seuArray['campo'];
}
}
/** more bla bla bla */

Mas acho que seria melhor ter as datas do dia que o evento iria ocorrer daí você faria a comparação se o dia de hoje é o dia do evento dia1

Falopa!

#7 usuariomais

usuariomais

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 17/11/2011, 10:53

@hostdesigner

Mais isto fará com ele somente oculte as opções já preenchidas, precisava que apareçesse somente um campo checkbox, e dentro dele, tivesse uma condição que ele identificava que hoje por exemplo é o dia P10dia do treinamento, ou seja, presença do 10º dia.

Entendeu?

#8 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/11/2011, 10:59

@ USUARIOMAIS
Então, neste caso teria que ser agendado o dia do curso

agenda
------
id
dia
evento

Dai na consulta você verifica se hoje é o dia1 e mostra o campo... do contrário a aplicação não tem como saber que dia é que o evento ocorre, você precisa falar pra ela, neste caso através de um agendamento. E isto resolve teu problema.

Falopa!

#9 usuariomais

usuariomais

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 17/11/2011, 11:07

@hostdesigner

Humm.. entendi! No meu caso, como farei, quando exibirei... no atual, estou utilizando a seguinte função para exibir os campos:

<input type="checkbox" id="checkbox" <?php if($array_exibir['t1dia'] == 'SIM') echo 'checked = "checked" disabled = "disabled"'; ?>"" disabled="disabled">  

<input type="checkbox" id="checkbox" <?php if($array_exibir['t2dia'] == 'SIM') echo 'checked = "checked" disabled = "disabled"'; ?>"" disabled="disabled">

<input type="checkbox" id="checkbox" <?php if($array_exibir['t3dia'] == 'SIM') echo 'checked = "checked" disabled = "disabled"'; ?>"" disabled="disabled">


Ao implentar uma agenda, terei que fazer como?

#10 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/11/2011, 11:13

@ USUARIOMAIS
Não precisa necessariamente colocar uma agenda, você precisa informar a data que será o dia1.

Exemplo:

id - dia - evento
1 - 2011-11-17 - 'dia1'
2 - 2011-11-18 - 'dia2'
3 - 2011-11-22 - 'dia3'

Na consulta, faça o select normal, dentro do loop, faça uma condicional que verifica se hoje é a mesma data que foi marcada para o evento 'dia1'

E por ai vai... tem várias formas você só precisa entender realmente como funcionará na pratica para implementar virtualmente.

Falopa!

#11 usuariomais

usuariomais

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 17/11/2011, 11:18

Ok! Entendi.

Porém terei que criar uma nova tabela com os campos, e depois, quando for eu agendar a data de treinamento, terei que selecionar conforme a disponibilide, mas se eu definir a data de início ex:

TREINAMENTO: 10/11/2011

Porém hoje é : 17/11/2011

terei que difinir data final? me ajuda ai.. rs

#12 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/11/2011, 11:24

Ué se o evento ocorre o dia todo não precisa, mas se ocorre e termina em partes do dia ou dura vários dias, ai tu precisa ter data inicio e encerramento... E se precisar consultar apenas eventos que estão ocorrendo agora utilize BETWEEN na consulta.

Falopa!

#13 usuariomais

usuariomais

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 17/11/2011, 11:27

Perfeito!

No caso, como implantarei no modo q estou utilizando?

<input type="checkbox" id="checkbox" <?php if($array_exibir['t1dia'] == 'SIM') echo 'checked = "checked" disabled = "disabled"'; ?>"" disabled="disabled">  <input type="checkbox" id="checkbox" <?php if($array_exibir['t2dia'] == 'SIM') echo 'checked = "checked" disabled = "disabled"'; ?>"" disabled="disabled"><input type="checkbox" id="checkbox" <?php if($array_exibir['t3dia'] == 'SIM') echo 'checked = "checked" disabled = "disabled"'; ?>"" disabled="disabled">



#14 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 17/11/2011, 11:56

@ USUARIOMAIS

foreach( $var as $var ){

if( strtodate( $var['dia1'] ) == strtodate( date( 'Y-m-d' ) ) )
{
echo "hoje é dia 1"
}

}
Falopa!

#15 usuariomais

usuariomais

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Não informado

Posted 17/11/2011, 15:18

Entendi!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq