Jump to content


Photo

Problema Com Arrays (bem Básico)


  • Faça o login para participar
3 replies to this topic

#1 overflow

overflow

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 24/06/2008, 21:23

Olá,
estou com um probleminha aqui e acredito que seja bem simples pra quem manja de php xD

aqui vai o pedaço do codigo:

-------------------------------------------
$linha = mysql_fetch_array($resultado);

function show($what) {

if (!$linha[$what]) {
echo "Não informado </span><span class=informe>informe você mesmo";
} else {
echo $linha[$what];
}
------------------------------------------

o que ele faz:
le os valores de um banco de dados mysql, armazena eles num array e eu tenho que exibir um dos valores do array dependendo do que foi colocado na função
exemplo:

show ("nome");

o problema eh que ele nao ta procurando no lugar certo do array, entao da sempre como nao informado (o php nao acusa nenhum erro)
se alguem puder me ajudar desde ja agradeço
abração

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 24/06/2008, 21:30

A questão não é nem que ele está buscando no lugar errado, o problema é que dentro da função você está tentando acessar $linha, sendo que ela não foi inicializada.

"Mas eu iniciei sim, olha ela ali em cima!"

Não! :D

A sua função show() só tem acesso ao que existe em seu escopo, e como $linha está fora, dentro da função ela não existe.

Solução: ou você utiliza ponteiro, ou passa o array como parâmetro.

Flws...
(ok2)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 24/06/2008, 21:31

Não sei se é esse o problema, mas não teria que definir a variável do mysql_fetch como global para poder usar dentro da função?

$linha = mysql_fetch_array($resultado);

function show($what) {
global $linha;
if (!$linha[$what]) {
echo "Não informado </span><span class=informe>informe você mesmo";
} else {
echo $linha[$what];
}


PA foi mais rápido para postar..... huahuahua..... '-'

Edição feita por: lwirkk, 24/06/2008, 21:33.

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#4 overflow

overflow

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 24/06/2008, 22:21

caramba,
era so isso o.o

muito obrigado gente, ta resolvido meu problema e acabei aprendendo uma coisinha nova heheh
abração




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq