biza 1 Denunciar post Postado Agosto 26, 2010 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 ver 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
Victor Cometti 8 Denunciar post Postado Setembro 4, 2010 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
biza 1 Denunciar post Postado Setembro 4, 2010 obrigadão é isso ai , esta resolvido Compartilhar este post Link para o post Compartilhar em outros sites