Closed crowleysbr closed 5 years ago
Desculpe a demora mas o feriadão me fez tirar uma praia rs.
Sim, vc pode usar retorno do banco de dados, para tanto vc precisa utilizar os blocos:
No HTML:
<ul>
<!-- BEGIN CATEGORIAS -->
<li>{CATEGORY_NAME}</li>
<!-- END CATEGORIAS -->
</ul>
No PHP
<?php
while (...) {
$tpl->CATEGORY_NAME = $linha['nome'];
$tpl->block('CATEGORIAS');
}
Ou se preferir usar a minha versão modificada desta classe, tem um método adicional (facilitador) que é o addArray que pode ser usado da seguinte forma:
No HTML:
<ul>
<!-- BEGIN CATEGORIAS -->
<li>{NOME}</li>
<!-- END CATEGORIAS -->
</ul>
No PHP
<?php
$resultado = $linhas; // array(array('nome'=>'Jogos',...))
$tpl->addArray($resultado,'CATEGORIAS'); // Onde o primeiro argumento é o array e o segundo o nome do bloco
Aproveito para informar que é uma boa prática você não utilizar essas funções do mysql e migrar pro mysqli ou de preferência o PDO que vai te agilizar bastante a vida e vai garantir uma vida útil do seu código por mais tempo visto que o mysql e mysqli estão caminhando para extinção e o mysql_* foi descontinuado na versão 7 do php.
Olá! Na class de template é mencionado que podemos trazer resultados do banco de dados. Eu fiz um teste criando 5 registros no banco de dados (5 linhas), porém, ao executar a query ele imprime na página apenas 1 registro. Alguém sabe dizer o que se passa?
$sql = mysql_query("SELECT * FROM categorias ORDER BY id DESC LIMIT 0,10") or die(mysql_error()); if(mysql_num_rows($sql)>0) { $row = mysql_fetch_array($sql); while($linha = mysql_fetch_array($sql)){ $tpl->CATEGORY_NAME = $linha['nome']; $tpl->CATEGORY_DESC = substr($linha['desc'],0,125).'...'; } }
no BD:
Linha 1: nome = "Jogos" Linha 2: desc = "Categoria de jogos em geral."
Existem 5 registros diferentes... Ou seja, 5 categorias, mas, somente a de "Jogos" é mostrada.