Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sasdelli Informática

[Resolvido] Dados de Array, para o Smarty

Recommended Posts

Qual o erro ?

 

olha, fiz dessa forma agora...

 

 

aqui está o while

 

 while ($dados = mysql_fetch_array($busca_query)) {
               $pk             =        $dados['pk_cli_condominio']; 
                       $nome           =        $dados['nome_predio'];
               $telefone       =        $dados['telefone_predio'];
               $email_predio   =        $dados['email_predio'];        

               // Criando array para passar ao smarty com os dados da consulta 
               $dados_array = array($pk => $pk,
                                    $nome => $nome,
                                    $telefone => $telefone, 
                                    $email_predio => $email_predio);

								 $dados_array[$pk];
                                    $dados_array[$nome];
                                    $dados_array[$telefone];
                                    $dados_array[$email_predio];
       }

 

meu smarty

$smarty = new Smarty();
    $smarty->assign('dados_array', $dados_array);
    $smarty->display('p_condominio.tpl');

 

e para exibir eles

 

{foreach from=$dados_array item="valor"}
			    {$valor.email_predio}
			    {$valor.telefone}
			    {$valor.pk}
			    {$valor.nome}
			{/foreach}

 

 

ele está puxando, só que o primeiro caracter de cada elemento...

 

assim:

1 1 1 1 R R R R a a a a r r r r

 

no banco está cadastro assim:

 

15

Robson

asd

robson@sasdelli....

 

 

como tenho três cadastros, ele repete tudo isso.. entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta recuperar em PHP esses valores e ve o que eles te retornam

 

então,

 

fiz assim para exibir eles em php..

 

echo $dados_array[$pk]."<br />";

echo $dados_array[$nome]."<br />";

echo $dados_array[$telefone]."<br />";

echo $dados_array[$email_predio]."<br />";

echo "<hr />";

 

só dei um echo em cada variavel do meu array, e retornou normalmente.. assim:

 

 

13

Robson Sasdelli

asd

robson@sasdelliinformatica.com.br

------------------------------------

15

Robson Robson

asd

robson@sasdelliinformatica.com.br

 

sem problemas nenhum...

 

Pessoal, consegui aqui.. vou postar a solução para nao ficar um post sem fim beleza?

 

o erro de não exibir os dados inteiros e somente a primeira letra estava na motagem do array.

 

estava montando ele assim:

 

$dados_array = array($pk => $pk,
                                    $nome => $nome,
                                    $telefone => $telefone, 
                                    $email_predio => $email_predio);

                                                                        $dados_array[$pk];
                                    $dados_array[$nome];
                                    $dados_array[$telefone];
                                    $dados_array[$email_predio];

 

ai montei assim:

 $dados_array[] = array('pk' => $pk,
                                      'nome' => $nome,
                                      'telefone' => $telefone, 
                                      'email_predio' => $email_predio);

 

 

passei os arquivos via Smarty assim:

 

$smarty = new Smarty();
    $smarty->assign('dados_array', $dados_array);
    $smarty->display('p_condominio.tpl');

 

e recuperei assim

 

{foreach from=$dados_array item="valor"}
			    {$valor.pk} <br />
		 		{$valor.nome} <br />
			    {$valor.email_predio} <br />
		        {$valor.telefone} <br />
			     <hr>
			{/foreach}


 

ai ele me traz assim:

 

 

13

Robson Sasdelli

robson@sasdelliinformatica.com.br

asd

 

------------------------

15

Robson Robson

robson@sasdelliinformatica.com.br

asd

 

 

a vantagem é que agora posso trabalhar com aparência sem problemas.

 

Bom é isso pessoal, hoje foi um dia loco, mais deu tudo certo..

 

valew aii para quem ajudou postando..

 

e gremio10 obrigado pela paciência...

 

Até,

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro mude o while:

while ($dados = mysql_fetch_array($busca_query)) {
               $pk = $dados['pk_cli_condominio']; 
               $nome = $dados['nome_predio'];
               $telefone = $dados['telefone_predio'];
               $email_predio = $dados['email_predio'];        

               // Criando array para passar ao smarty com os dados da consulta 
               $dados_array[] = array('pk'        => $pk,
                                'nome' => $nome,
                                'telefone' => $telefone, 
                                'email_predio' => $email_predio);
       }

Passe os dados dessa forma:

       $smarty = new Smarty();
       $smarty->assign('dados_array', $dados_array);
       $smarty->display('p_condominio.tpl');

E o foreach deve ser assim:

 {foreach name=i loop=$dados_array}
    {$dados_array[i].nome}
 {/foreach} 

 

Cara,

Desculpe a demora na resposta. Não tive tempo de ver antes.

Eu me enganei no exemplo. O que te passei é do section e não do foreach.

Tenta utilizar como acima, Mas muda o .tpl:

 {section name=i loop=$dados_array}
    {$dados_array[i].nome}
 {/section} 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.