Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

ibuh

CheckBox

Mensagens Recomendadas

ibuh

Boa tarde, tenho um dúvida que me impede de terminar um trabalho.

Passo a explicar:

Tenho 10 checkbox (Cada uma referente a um nome de pessoa)

Se nenhum checkbox estiver selecionada, todos os nomes terão de aparecer após submeter o formulário.

Senão se alguma estiver selecionada terá de aparecer todos os nomes, menos os selecionados.

A minha dúvida é saber quando está seleccionado e não mostrar ...ou quando não está mostrar tudo.

Ant. grato pela ajuda.

Cumpts.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ibuh

Sim tenho só preciso mesmo da condição / ciclo.

Este é a condição / ciclo que tenho. (Depois o resto é um formulário de checkboxes que tenho noutra página)

<?php
			if (!$turma)
			{
		  		echo "Nenhum Aluno Faltou.";
				// aqui deveria aparecer todos os VALUES das checkbox, ou seja os nomes de todos os alunos.
			}
	  		else
	  		{
				foreach ($turma as $b)
				{
		  			echo "FALTOU: $b</br>";

					// aqui deveria aparecer todos os nomesm MENOS os que foram seleccionados na checkbox.
				}
	  		}	

		?>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mind

Independentemente de teres 0 ou 5 seleccionadas, aparecem os que não estão seleccionados.. Se tiveres um array com os nomes concorrente aos nomes das checkboxes.. tipo $nome com nomes, e checkboxes com nome nome# (nome0,nome1,nome2):

for($i = 0 ; $i < 10 ; $i++) {

if(!isset($_POST['nome'.i])) echo $nome[$i];

}

Não sei se é isto que estás à procura...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ibuh

Boas, obrigado pela ajuda até este momento, mas ainda não consegui resolver o meu problema, vou mostrarvos mais coisas a ver se conseguimos chegar a algum(a) resultado/solução.



ESTA É CONDIÇÃO / CICLO QUE TENHO (COLOQUEI ALGUNS COMENTÁRIOS)


<?php 

			if (!empty($turma))
			{
			// ESTE CICLO ESTÁ CORRECTO. MOSTRA AS PESSOAS QUE FALTARAM, OU SEJA QUE FORAM MARCADAS COM UM
			// VISTO NA CHECKBOX. MAS O QUE EU QUERIA, É QUE APARECECEM OS NOMES DE QUEM NÃO FALTOU.

				echo "Faltou:</br>";
				for ($i=0; $i <=10; $i++)
				{
					echo $turma[$i];
				}		
			}
			else
			{
			// AQUI COMO PODE SER VISTO MOSTRA A MENSAGEM "TUDO PRESENTE", MAS O QUE DEVERÁ MOSTRAR SÃO OS NOMES
			// DE TODAS AS PESSOAS

				echo "Tudo Presente";
			}

		?>

AQUI FICA O FORMULÁRIO EM HTML DAS CHECKBOX QUE CRIEI.


<tr><td align="center" colspan="2"><input type="checkbox" name="turma[1]" value="João Correia"  />João Correia</td></tr>
	<tr><td align="center" colspan="2"><input type="checkbox" name="turma[2]" value="Nuno Pessoa" />Nuno Pessoa</td></tr>
	<tr><td align="center" colspan="2"><input type="checkbox" name="turma[3]" value="Cesário Verde" />Carlos Verde</td></tr>
	<tr><td align="center" colspan="2"><input type="checkbox" name="turma[4]" value="Cavaco Silva" />Cavaco Silva</td></tr>
	<tr><td align="center" colspan="2"><input type="checkbox" name="turma[5]" value="José Socrates" />José Socrates</td></tr>
	<tr><td align="center" colspan="2"><input type="checkbox" name="turma[6]" value="Tono Guterres" />Tono Guterres</td></tr>
	<tr><td align="center" colspan="2"><input type="checkbox" name="turma[7]" value="Tony Carreira" />Tony Carreira</td></tr>
	<tr><td align="center" colspan="2"><input type="checkbox" name="turma[8]" value="Filipe Guedes" />Filipe Guedes</td></tr>
	<tr><td align="center" colspan="2"><input type="checkbox" name="turma[9]" value="António Geraldes" />António Geraldes</td></tr>
	<tr><td align="center" colspan="2"><input type="checkbox" name="turma[10]" value="Rui Gomes" />Rui Gomess</td></tr>


Agradeço toda a ajuda prestada.

cumpts.

APARTE: Usa o Geshi, torna o post mais apresentável. :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ibuh

Boas.

Obrigado por toda a ajuda disposta. =)

Consegui, chegar a uma solução 'básica', através de um amigo.

Aqui fica:

//A CONDIÇÃO PARA SE SELECIONAR NÃO MOSTRAR SENÃO MOSTRAR

<?php 



			if ($_REQUEST['aluno1'])
			 {
			 echo "";
			 }
			 else

			echo "Aluno1<br>";


			if ($_REQUEST['aluno2'])
			 {
			 echo "";
			 }
			 else

			echo "Aluno2<br>";

(...)

// AS CHECKBOX


<tr><td align="center" colspan="2"><input type="checkbox" name="aluno1" value="ALUNO1"  />ALUNO1a</td></tr>
	<tr><td align="center" colspan="2"><input type="checkbox" name="aluno2" value="ALUNO2" />ALUNO2</td></tr>

(...)

ESTÁ SOLUCIONADO O CASO.

CUMPTS

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mind

Se lesses o que eu disse, é bem mais inteligente do que isso -.-'....

Aplicando ao que fizeste, no script que trata os dados tens que ter o array dos nomes... e fazer:

for($i = 1 ; $i <= count($aluno) ; $i++) {
   if(!isset($_REQUEST['aluno'.$i])) echo $aluno[$i];
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.