problemas com smarty no retorno do vetor

17 views
Skip to first unread message

vandread

unread,
Dec 17, 2009, 11:50:43 AM12/17/09
to php-brasil
povo to com um problema aki, eu to fazendo um site em php com smarty,
ams eu to con dificuldade em uma parte, eu estou con dificuldade para
o return do vetor

o metodo que deve retornar o vetor é

public function listaTodosFuncionarios(){
$this->query = mysql_query("select * from pessoa where tipo <>
'aluno'");

$this->linha = mysql_fetch_array($this->query);

return $this->linha;
}

este aki é o que envia o vetor para o tpl para usar o foreach

$alunoFuncionario = new AlunoFuncionario;

$lista = $alunoFuncionario->listaTodosFuncionario();

$smarty->assign('lista', $lista);

$smarty->display('controle/funcionarioPesquisa.tpl');

e este é o código que tem no tpl

-{foreach key=key item=item from=$lista}-
-{$key}-: -{$item}- <br/>
-{/foreach}-

as ele só esta passando o primeiro cadastro(tem 10 cadastros
diferentes de tipos diferente de aluno)

Rafael Eduardo Kassner

unread,
Dec 17, 2009, 12:09:08 PM12/17/09
to php-b...@googlegroups.com
o mysql_fetch_array sempre retorna apenas 1 linha. Acontece que ele joga o ponteiro pro próximo registro, e se você usar mysql_fetch_array de novo, vai pegar a segunda linha.

o ideal é fazer assim

while ($r = mysql_fetch_array($this->query)) {
    $this->linha[] = $r;
}

ou algo do genero

valeu

2009/12/17 vandread <arc...@gmail.com>

--

Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.





--
Rafael Eduardo Kassner
http://www.kassner.com.br
+55 47 9992-9170

vandread

unread,
Dec 17, 2009, 1:40:51 PM12/17/09
to php-brasil
cara vlw a ajuda eu fiz oq vcs falou e deu +/- certo

fiz isso:

while($this->linha = mysql_fetch_array($this->query)){
$this->vetor[] = $this->linha;
}

return $this->vetor;

e o resultado impresso na tela foi:

0: Array
1: Array
2: Array
3: Array
4: Array
5: Array
6: Array
7: Array
8: Array
9: Array
10: Array

Rafael Eduardo Kassner

unread,
Dec 17, 2009, 1:42:33 PM12/17/09
to php-b...@googlegroups.com
{foreach item=item1 from=$lista}
{foreach key=key item=item from=$item1}
   {$key}: {$item}<br/>
{/foreach}
{/foreach}

2009/12/17 vandread <arc...@gmail.com>
--

Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.


vandread

unread,
Dec 27, 2009, 7:53:45 PM12/27/09
to php-brasil
po nem deu certo, repetiu todos os valores e os valores ficaram
estranhos olha como foi impresso


0: 1
idAlunoFuncionario: 1
1:
idResponsavel:
2: 20091-66
codigo: 20091-66
3: 10973365730
cpf: 10973365730
4: 1073330
rg: 1073330
5: Allan da Rocha Coelho
nome: Allan da Rocha Coelho
6: (21)9608-4691
telFixo: (21)9608-4691
7: (21)3359-1586
telMovel: (21)3359-1586
8: arc-c...@hotmail.com.com
email: arc-c...@hotmail.com.com
9: 29/07/1986
dtNascimento: 29/07/1986
10: RJ
estado: RJ
11: Rio de Janeiro
municipio: Rio de Janeiro
12: rua Regente Lima e Silva
logradouro: rua Regente Lima e Silva
13: 601
numero: 601
14:
complemento:
15: 21610-230
cep: 21610-230
16: Mal. Hermes
bairro: Mal. Hermes
17:
login:
18: e10adc3949ba59abbe56e057f20f883e
senha: e10adc3949ba59abbe56e057f20f883e
19: gerente
tipo: gerente
20: qual o nome do seu primeiro cachorro?
pergunta: qual o nome do seu primeiro cachorro?
21: pluminha
resposta: pluminha
22: ativo
situacao: ativo


desculpe a demora mas eu uso 3G e fiquei até hj sem net

André Melo

unread,
Dec 28, 2009, 6:18:38 AM12/28/09
to php-b...@googlegroups.com
Veja se assim funciona!
Abraço!
{foreach item=item1 key=k from=$lista}
{foreach key=key item=item from=$item1}
   {$k}: {$item.nome}<br/>
{/foreach}
{/foreach}




2009/12/27 vandread <arc...@gmail.com>
--

Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.





--
==================================
André Melo - 061 8174-6797 / 3877-5077
Desenvolvedor Web                              
msn: andrer...@hotmail.com            
==================================

vandread

unread,
Dec 28, 2009, 10:17:23 AM12/28/09
to php-brasil
não deu cero, o resultado foi bem estranho, eu consegui achar uma
solução não é muito boa + funciona

<table border="1">
-{foreach item=contact from=$lista}-
<tr>
<!-- -{$i = 0}- -->
-{foreach key=key item=item from=$contact}-
<!-- -{$i++}- -->
-{if $i mod 2 == 0}-
<td>-{$key}-: -{$item}-</td>
-{/if}-
-{/foreach}-
<td><a href="#"><img src="img/formulario/alterar.png" /></a></
td>
<td><a href="#"><img src="img/formulario/
cancelar.png" /></a></td>
</tr>
-{/foreach}-
</table>

o $i=0 e o $i++ está em comentario só em html pq ele imprime na tela o
resultado da operação, assim ele é executado porem não é exibido

vandread

unread,
Dec 28, 2009, 10:57:11 AM12/28/09
to php-brasil
po cara + agora eu to com uma duvida cruel!!!!! e tosca!!!! + tosca
msm!!!!

eu quero atribuir o valor do ID em uma variavel separada para dps
exibir no link de alteração e exclusão em uma querystring

em logica seria assim

-{if $key == "idAlunoFuncionario"}- + -{$id = $item}- -{/if}-

mas a variavel id não está recebendo o valor de item, na verdade a
variavel fica vazia!

alguem já viu isso???

Gustavo Adolfo AS

unread,
Dec 29, 2009, 9:48:11 AM12/29/09
to php-b...@googlegroups.com
Tentando entender e acompanhar... não vi no código que você postou anteriormente uma chamada a "idAlunoFuncionario", embora no SQL esteja buscando todos os registros...



Frat.,
Gustavo Adolfo

CAMPANHA FAÇA UM CONTATO FELIZ! Insira os endereços de seus contatos apenas no campo CCO e evite spammers.

http://anotacoesdiversas.blogspot.com
=====================================
Creia que a vida é algo muito sublime, muito
mais valiosa do que geralmente se considera.
======================================
"O tempo é um grande professor, mas
infelizmente ele mata todos os seus alunos."
Hector Belioz
======================================
O universo é cíclico; a vida é cíclica; o mundo é
uma esfera; orgulho é doença da alma; o que você
valoriza não é tão diferente do que você despreza.
(G. A.)
======================================

André Melo

unread,
Dec 30, 2009, 5:18:48 AM12/30/09
to php-b...@googlegroups.com
seria mais ou menos assim:
{if $key == "idAlunoFuncionario"}{assign var="id" value=$item}{/if}
Dá uma lida no manual do smarty que ajuda muito tb!
Abraço

--

Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.

vandread

unread,
Jan 4, 2010, 1:20:48 PM1/4/10
to php-brasil
achei uma resolução bem melhor, eu só troquei o mysql_fetch_array por
mysql_fetch_assoc e deu certo
Reply all
Reply to author
Forward
0 new messages