• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gonçalo_ssb

Multiple Checkbox

3 mensagens neste tópico

Ola boa noite a todos,

Gostaria que me dessem uma ajudinha. Eu estou a ler da base de dados todos os meses cuja cota foi paga e como tal estou a recorrer a chekbox.

Gostaria de fazer um botao de refresh em que caso o valor da checkbox fosse alterado este me actualiza-se a base de dados. Ou seja, a minha duvida

está em como inserir vários valores da checkbox na BD. Aqui vai o código.

while($j<12)
	{	
		$id=0;
		$value="";
		$sql = mysql_query("SELECT pagamento
							FROM ano_meses
							WHERE nome_ano = '$ano_actual'
							AND id_socio = '$num_socio'
							AND nome_mes = '$meses[$j]'
							AND pagamento='1'");

		while($l = mysql_fetch_array($sql)) 
		{
			$id = $l["pagamento"];

		}
		if($id==1)
		{
			$value="checked";
		}		
		echo"<tr>
		<td align='left' style='padding-top:2px;' class='texto'>
		<input id='pagamento' name='check[]' type='checkbox' $value>   $meses[$j]</td>

		</tr>";

		$j++;
	}

Agr através de um botao

if(isset($_POST['Refresh'])

{

??????????????????????SABER O VALOR DAS CHECKBOX

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acrescenta o $j ao name do checkbox. Senão, como o PHP só recebe as checkboxes "checked", a primeira (check[0]) tanto pode ser de Janeiro como de Abril como de Dezembro.

		echo"<tr>
		<td align='left' style='padding-top:2px;' class='texto'>
		<input id='pagamento' name='check[$j]' type='checkbox' $value>   $meses[$j]</td>

		</tr>";

Usando o name='check[$j]' tens que verificar o índice do array

if(isset($_POST['Refresh'])
{
    /* SABER O VALOR DAS CHECKBOX */
    foreach ($_POST['check'] as $k=>$v) {
        if ($k == 0) echo 'Janeiro checked';
        if ($k == 1) echo 'Fevereiro checked';
        /* ... */
    }
}

Atenção: código não testado!

0

Partilhar esta mensagem


Link 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