Ir para conteúdo

POWERED BY:

Arquivado

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

biza

[Resolvido] Checkbox

Recommended Posts

pessoal tenho um probleminha com um formulário de update , gostaria o items pertencentes a uma determinada categoria e que foram resgatados através do id da mesma seleccionados , mas ao mesmo tempo ter a permição para seleccionar mais , passo a descrever o que tenho feito.

 

1º fiz um select com a finalidade de resgatar os dados da consulta.

 

<?
$sq = "SELECT equipamento_id FROM viatura_equipa WHERE viatura_id = ".$_GET['id'];
$res = mysql_query($sq)
or die ("Não foi possível realizar a consulta.");
$linha=mysql_fetch_array($res);
?>

2º criei outro select que vai a uma tabela e controi um campo onde as pessoas podem seleccionar as caracteriasticas que querem , e que obdecem a uma opção que é tida como 1(por exemplo)

 

	<?
	$result = mysql_query("SELECT * FROM equipamento WHERE estado ='1' ORDER BY equipa ASC");
	while( $row = mysql_fetch_array($result)){
 			if ($row[0]== $equipamento)
echo '<div id="itens"><input type="checkbox" name="equipamentos[]" id="'.$row[1].'" value="'.$row[0].'" checked/>
 <span class="items">'.$row[1].'</span></div>';
else
echo'<div id="itens"><input type="checkbox" name="equipamentos[]" id="'.$row[1].'" value="'.$row[0].'" />
 <span class="items">'.$row[1].'</span></div>';
		
	}
?>
como se pode verImagem Postada

 

a minha intenção é uma vez que este formulário é de edição, queria que estas checkbox que na base de dados tivessem item mas devove-se seleccionadas, mas também me desse a opção de seleccionar mais , caso na primeira inserção me tivessem passado ao lado os atributos do veiculo.

CREATE TABLE `equipamento` (
 `e_id` int(4) NOT NULL AUTO_INCREMENT,
 `equipa` varchar(40) NOT NULL,
 `estado` varchar(1) NOT NULL,
 PRIMARY KEY (`e_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=55 ;

CREATE TABLE `viatura_equipa` (
 `viatura_id` int(4) NOT NULL,
 `equipamento_id` int(4) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
estas são as duas tabelas que estou a utilizar para este processo na viatura_equipa vou buscar o id utilizado no primeiro select com a finalidade de atribuir a esta viatura todos estes equipamentos.

Agradeço a vossa atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha se é isso

<?php
/*fiz um select dentro do outro, o de dentro busca todos os equipamentos da tabela viatura_equipa que o veiculo possui
	o de fora seleciona todos os equipamentos da tabela equipamento
	o if verifica se o item da tabela equipamento está na tabela viatura_equipa
	e cria um campo chamado marca com conteúdo checked se existir e vazio senão existir
*/
$result = mysql_query("select `e_id`,`equipa`, if(`e_id` in (select `equipamento_id` from `viatura_equipa` where `viatura_id` = {$_GET['id']}),'checked','') as marca from `equipamento`");
while( $row = mysql_fetch_assoc($result)){
	echo "<input type='checkbox' name='equipamentos[]' value={$row['e_id']} {$row['marca']}>{$row['equipa']}";
}
?>

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.