Jump to content


Photo

[Resolvido] Receber Array Com Caracter Especial


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

#1 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 21/07/2010, 11:22

Bom dia galera,

Seguinte... estou recebendo em um array uma consulta do SQL que retorna o seguinte resultado:

Array ( [0] => 1 [idProdutoEmpresa] => 1 [1] => 1 [idProduto] => 1 [2] => 1 [idEmpresa] => 1 [3] => cod1 [CódigodoProduto:] => cod1 [4] => prod1 [NomedoProduto:] => prod1 [5] => fin1 [NúmeroFINAME:] => fin1 )

Até ai tudo bem, mas quando vou receber (ou mostrar) o "CódigodoProduto:" não aparece nenhum valor:

<?php echo = $linhaProduto["CódigodoProduto:"]; ?>

Testando com os outros campos mostrou corretamente, já testei algumas coisas como:

mysql_set_charset  ('latin1');

setlocale (LC_ALL, 'pt_BR.iso-8859-1');

Sem sucesso, se alguém souber posta ai.

Agradeço desde já, abraço.
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#2 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 21/07/2010, 11:34

Deixe-lhe perguntar...

Esses campos aí, são os nomes das colunas da tabela no banco de dados?

Se for...

use para os nomes somente letras e sem acentos...
é uma boa prática...

(y)
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 21/07/2010, 11:38

Sim, são os nomes das colunas, tive de fazer desta maneira pois é um cadastro totalmente dinâmico, ele está sendo montado automáticamente de acordo com os campos cadastrados no banco.

A consulta destes dados no SQL está acontecendo sem problemas, apenas neste recebimento no PHP que encontrei este problema...

vlw.
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#4 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 21/07/2010, 14:11

Tenta assim:

<?php echo $linhaProduto["CódigodoProduto:"]; ?>

(y)
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#5 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 21/07/2010, 14:27

Parece igual ao que eu já estava utilizando, mas testei e mesmo assim não é exibido os valores...
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#6 LeoCrispa

LeoCrispa

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino

Posted 27/07/2010, 16:43

Eae Alan.. cara nao intendi direito o seu problema..

mas voce pode mudar o nome do campo a ser exibido ou puxado pelo PHP por ex:

"SELECT CódigodoProduto: AS 'CodigodoProduto' FROM tabela WHERE 1"


ai vc pode referenciar

echo $linhaProduto["CodigodoProduto"];

sem acento e sem pontos

qlqer coisa posta ae.. Vlw

Edição feita por: LeoCrispa, 27/07/2010, 16:44.


#7 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 28/07/2010, 08:32

Bom dia Leo,

Intendi, no caso estaria trocando o nome do campo para poder abrir no PHP.

Como eu estou fazendo um looping para "montar" os campo não posso deixar a minha consulta "estática", pois preciso de todas as informações da tabela "SELECT * FROM...". Agora vi a possibilidade de utilizar a referência dos campos do mysql_fetch_array ( me corrijam se eu estiver errado ), pois ele cria o array com o nome do campo e um número com este mesmo valor, ou seja: [3] => cod1 [CódigodoProduto:] => cod1

<?php echo $linhaProduto[3]; ?>

Será retornado o valor de CódigodoProduto:.

Agradeço a atenção, Abraço.
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#8 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 28/07/2010, 13:52

Você já fez muito desse sistema ou está começando agora? Se estiver começando ainda, reveja essa idéia aí. Nomear os campos desse jeito não vai ser bom.

#9 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 28/07/2010, 14:17

Já estou finalizando a parte da edição, cadastro e listagem já estão funcionando. No momento que é cadastrado o nome do Campo no BD ele ja cria um label e um input no cadastro, ao cadastrar ele verifica se este campo já existe nas tabelas que seram inseridos os dados e após isso monta os insert automaticamente.

Foi um pouco complicado mas agora está tudo automático :D
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini

#10 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 28/07/2010, 14:22

Eu entendi isso. Só não achei bom. Deixa pra reconsiderar numa versão 2.0 então.

#11 LeoCrispa

LeoCrispa

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino

Posted 21/09/2010, 15:54

Entao Alan...

Usar a posição numerica da chave pode ser uma boa solução para o seu caso... Se funcionou Blz...

Só uma dica.. Para melhorar sua performace tente usar em vez de 'mysql_fetch_array()'

Use a 'mysql_fetch_row()',

pois a 'mysql_fetch_array()' ela tranforma a tabela em um array duplo ou seja
array('amarelo' => 'banana', 0 => 'banana', 'vermelho' => 'maçã', 1 => 'maçã' )

e o 'mysql_fetch_row()' retornará:
array(0 => 'banana',1 => 'maçã' )

Somente chaves numericas, tbm tem o 'mysql_fetch_assoc()' que traz o array associativo:
array('amarelo' => 'banana', 'vermelho' => 'maçã')


Espero ter conseguido entender...

#12 Alan Martini

Alan Martini

    Normal

  • Usuários
  • 75 posts
  • Sexo:Masculino
  • Localidade:Campo Bom, RS
  • Interesses:De tudo um pouco

Posted 21/09/2010, 22:05

Olá Leo,

Realmente melhora a performance, mas alguns dados que retornam do BD com caracteres especiais, e eu não consigo "pegar" pelo PHP, então eu utilizo o índice mesmo <?php $linha[22] ?>.

Obrigado pela dica.

Abraço
Este post lhe ajudou/foi útil? Retribua(+)
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini




0 user(s) are reading this topic

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

IPB Skin By Virteq