Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá!
Estou testando um recurso de template php(abstrair layout html do programa php).
Tenho dúvida em como utilizar o while nessa estrutura:
index.php:
<?php
include_once("../../../model/classes/template.class.php");
require_once("../../../model/conecta/conecta.php");
$sql = "SELECT * FROM tabela";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs)){
$id = $row['id'];
$nome = $row['nome'];
}//end while rs
/**
* Creates a new template for the user's profile.
*/
$profile = new Template("../tpl/index.tpl");
$profile->set("nome", $nome);
/**
* Outputs the page with the user's profile.
*/
echo $profile->output();
?>
index.tpl:
<meta charset="utf-8">
<div class="choose_box">
<ul>
<!-- O form estaria no while -->
<form class="">
<p>
<span class="icone icon-archive2"></span>
<span class="big_text">[@nome]</span>
</p>
</form>
<script>
$(document).ready(function(){
/* ... */
/* ... */
});//end doc
</script>
</ul>
</div><!-- /choose_box-->
Preciso que o form esteja dentro do while, para que dessa forma tenhamos como resultado a visualização de todos os registros dessa tabela nessa disposição.
Tentei colocar nessa parte do php, assim:
while($row = mysql_fetch_array($rs)){
$id = $row['id'];
$nome = $row['nome'];
$profile = new Template("../tpl/index.tpl");
$profile->set("nome", $nome);
}//end while rs
Mas das duas formas apenas aparece 1registro... gostaria que todos fossem listados nesse while, que seria em torno do form..
Alguém sabe como?Resolvido...
while($row = mysql_fetch_array($rs)){
$id = $row['id'];
$nome = $row['nome'];
$pipes = array(
array("id" => $id, "nome" => $nome)
);
foreach ($pipes as $pipe) {
$profile = new Template("../tpl/list_lines.tpl");
foreach ($pipe as $key => $value) {
$profile->set($key, $value);
}//end foreach pipe
$pipeTemplates[] = $profile;
}//end foreach pipes
}//end while rs
$pipeContents = Template::merge($pipeTemplates);
$profile = new Template("../tpl/index.tpl");
$profile->set("list_lines", $pipeContents);
/**
* Outputs page
*/
echo $profile->output();
Fiz mais um estudo na estrutura, e consegui uma evolução, mas ainda falta carregar os dados.
o index.tpl ficou assim:
[@list_lines]
});//end doc