Beto Lima 0 Denunciar post Postado Julho 16, 2008 Como imprimir uma label ao invés do conteúdo vinda do banco? Ex: no exemplo abaixo vai mostrar os números dos estados (22 para RS) (1 para AC) etc.... Como fazer imprimir na combo uma label ao invés de número? <?php $q = "SELECT DISTINCT uf FROM produtos ORDER BY uf ASC"; $d = mysql_query($q); while($r = mysql_fetch_array($d)) echo '<option value="'.$r['uf'].'">'.$r['uf'].'</option>'; ?> tentei colocar um if assim dentro do php: if ($r['uf'] == 22) { $r['uf'] = "RS"; } mas não deu certo.... Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 16, 2008 opa, diz qual sua intenção com esses IFs? fazer o que realmente? Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Julho 16, 2008 o combo vai popular assim: 1 2 3 4 5 6 .... ao invés de mostrar os números na combo, quero mostrar letras onde 1 vai pra AC 2 para PR 22 para RS e assim por diante.... como se fosse uma label Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 16, 2008 deixa eu ver se entendi. você quer fazer assimAo inves de aparecer a SIGLA você quer aparecer o número SIGLA certo? Esse número esta gravado no banco ou não ? você quer que os números ficam 1, 2, 3,4,5,6 etc... aparecem sozinhos? Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Julho 16, 2008 ao invés de aparecer numeros, quero que mostre só as siglas... Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 16, 2008 ta mas você esta gravando a sigla no BD? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Julho 16, 2008 Como é a sua tabela? você tem cadastrada nela as siglas? ou pelo que tô vendo, é uma segunda tabela que as tem certo? Então você tem que fazer uma segunda consulta, que recebe como condição o retorno da primeira.. Não é tão complicado, tô procurando um exemplo aqui. $sql1 = ("SELECT * FROM `outratabela` where 'campo' = '$_POST['']' "; $dados=mysql_fetch_assoc($sql1);segunda query que vai trazer as siglas:$sql2 = mysql_query("SELECT * FROM `tabela` where `campo` = '$dados['']' "); $dados2 = mysql_fetch_assoc($sql2); Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Julho 16, 2008 CREATE TABLE `aux_uf` ( `id` int(11) NOT NULL auto_increment, `uf` varchar(2) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ; -- -- Extraindo dados da tabela `aux_uf` -- INSERT INTO `aux_uf` (`id`, `uf`) VALUES (2, 'AC'), (3, 'AL'), (4, 'AP'), (5, 'AM'), (6, 'BA'), (7, 'CE'), (8, 'DF'), (9, 'ES'), (10, 'GO'), (11, 'MA'), (12, 'MT'), (13, 'MS'), (14, 'MG'), (15, 'PA'), (16, 'PB'), (17, 'PR'), (18, 'PE'), (19, 'PI'), (20, 'RJ'), (21, 'RN'), (22, 'RS'), (23, 'RO'), (24, 'RR'), (25, 'SC'), (26, 'SP'), (27, 'SE'), (28, 'TO'); CREATE TABLE `produtos` ( `id` int(11) NOT NULL auto_increment, `uf` int(2) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; -- -- Extraindo dados da tabela `produtos` -- INSERT INTO `produtos` (`id`, `uf`) VALUES (2, '22'), (3, '20'); Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Julho 16, 2008 Pronto uê... a primeira consulta você faz na `produtos`, e a segunda você faz na `aux_uf` conseguiu? tentou? Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Julho 16, 2008 nao entendi teu sql, como ficaria? Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Julho 17, 2008 não entendi seu $_POST['']' e $dados Compartilhar este post Link para o post Compartilhar em outros sites
JCMPJ 0 Denunciar post Postado Julho 17, 2008 Faz a consulta assim: "SELECT DISTINCT produtos.uf, aux_uf.uf AS e FROM produtos INNER JOIN aux_uf ON produtos.uf = aux_uf.id ORDER BY e ASC"; Ai você vai ter: $r['uf'] o numero $r['e'] a sigla Por que você fez assim??? Não podia gravar a sigla logo de uma vez ??? Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Julho 17, 2008 Valeu JCMPJ deu certo como você disse.... Não poderia gravar a sigla direto porque o sistema já está vinculando para uma outra tabela... Brigadão Compartilhar este post Link para o post Compartilhar em outros sites