Jump to content

Recommended Posts

Posted

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

Posted

é 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
Posted

é 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

Posted

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
Posted

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

Posted

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

Posted
$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>
Posted

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.