XsTeAl 0 Report post Posted April 13, 2012 Boas, num projecto que estou a desenvolver, ao registar um formulário tenho que seleccionar a categoria que quero para o que estou a inserir, fiz um query a BD par obter o nome e o id das categorias todas ate aqui tudo bem. Agora eu quero preencher o meu ficheiro tpl com as option da tag select só que não tou a conseguir chegar lá, sei que tenho que fazer um loop para "correr" os registo todos, so que nao consigo passar para o ficheiro tpl cumprimentos Share this post Link to post Share on other sites
HappyHippyHippo 1,165 Report post Posted April 13, 2012 é impossivel responder com essa informação demasiado escassa ... 1º - usas alguma biblioteca para aceder à base de dados ? 2º - que template engine usas ? caso não saibas responder a estas perguntas, faz post do teu código para se poder analisar e responder correctamente IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Share this post Link to post Share on other sites
XsTeAl 0 Report post Posted April 13, 2012 é impossivel responder com essa informação demasiado escassa ... 1º - usas alguma biblioteca para aceder à base de dados ? 2º - que template engine usas ? caso não saibas responder a estas perguntas, faz post do teu código para se poder analisar e responder correctamente 1º não 2º uso este template engine http://www.raelcunha.com/template.php Share this post Link to post Share on other sites
HappyHippyHippo 1,165 Report post Posted April 13, 2012 presumo então que estás a usar as funções nativas do php : http://www.raelcunha.com/template.php#select_blocks http://pt.php.net/manual/en/ref.mysql.php while (($record = mysql_fetch_assoc ($rs)) !== false) { $tpl->VALUE = $record['id']; $tpl->TEXT = $record['text']; if($atual == $value) $tpl->SELECTED = "selected"; else $tpl->clear("SELECTED"); $tpl->block("BLOCK_OPTION"); } terás de alterar para ficar de acordo como teu código e template IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Share this post Link to post Share on other sites
XsTeAl 0 Report post Posted April 13, 2012 presumo então que estás a usar as funções nativas do php : http://www.raelcunha.com/template.php#select_blocks http://pt.php.net/manual/en/ref.mysql.php while (($record = mysql_fetch_assoc ($rs)) !== false) { $tpl->VALUE = $record['id']; $tpl->TEXT = $record['text']; if($atual == $value) $tpl->SELECTED = "selected"; else $tpl->clear("SELECTED"); $tpl->block("BLOCK_OPTION"); } terás de alterar para ficar de acordo como teu código e template tenho por exemplo assim $sql2 = mysql_query("SELECT * FROM subcategoria WHERE idCategoria IS NOT NULL ORDER BY id ASC"); while(($linhasql2 = mysql_fetch_assoc($sql2)) != false){ $tpl->CATEGORIA = $linhasql2[nome]; $tpl->IDC = $linhasql2[id]; $tpl->block("CATEGORIA"); } e no ficheiro tpl tenho <!-- BEGIN CATEGORIA --> categoria <select><option value="{IDC}">{CATEGORIA}</option></select><br /> <!-- END CATEGORIA --> e aparece os valores tipo assim VivendasApartamentosCarros , nao aparece a combo Share this post Link to post Share on other sites
HappyHippyHippo 1,165 Report post Posted April 13, 2012 viste bem o link do exemplo de como preencher uma combobox ?!?!?! eu coloquei exactamente por essa razão .... lé o que está no primeiro link que fiz post e vê a diferênca com o teu código IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Share this post Link to post Share on other sites
XsTeAl 0 Report post Posted April 13, 2012 viste bem o link do exemplo de como preencher uma combobox ?!?!?! eu coloquei exactamente por essa razão .... lé o que está no primeiro link que fiz post e vê a diferênca com o teu código Já sei o que fiz mal, mas agora aparece a combo vazia :S Share this post Link to post Share on other sites
HappyHippyHippo 1,165 Report post Posted April 13, 2012 como é que tens agora ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Share this post Link to post Share on other sites
XsTeAl 0 Report post Posted April 13, 2012 $actual = 1; while(($linhasql2 = mysql_fetch_assoc($sql2)) != false){ $valor = $linhasql2[id]; $tpl->CATEGORIA = $linhasql2[nome]; $tpl->IDC = $linhasql2[id]; if($actual == $valor){ $tpl->SELECTED = "selected"; }else{ $tpl->clear("SELECTED");} $tpl->block("CATEGORIA"); } <select name="categoria"><!-- BEGIN CATEGORIA --> <option value="{IDC}" {SELECTED}>{CATEGORIA}</option> <!-- END CATEGORIA --></select> Share this post Link to post Share on other sites
HappyHippyHippo 1,165 Report post Posted April 13, 2012 quantos warnings tens na página ?!?!? não são erros mas é como se fosse .... $linhasql2[nome]; $tpl->IDC = $linhasql2[id]; >> $linhasql2['nome']; $tpl->IDC = $linhasql2['id']; tens de começar a identar o código ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Share this post Link to post Share on other sites
XsTeAl 0 Report post Posted April 16, 2012 quantos warnings tens na página ?!?!? não são erros mas é como se fosse .... $linhasql2[nome]; $tpl->IDC = $linhasql2[id]; >> $linhasql2['nome']; $tpl->IDC = $linhasql2['id']; tens de começar a identar o código ... Tinha desactivado e nao via os "erros" já activei e só mostrava os warnings da falta das "" corrigido isso não mostra nenhum warning Share this post Link to post Share on other sites
XsTeAl 0 Report post Posted April 20, 2012 Resolvido depois de ter batalhado, vi o erro que tinha! O block não pode ter o mesmo nome que uma variavel de template Share this post Link to post Share on other sites