Ir para conteúdo

POWERED BY:

Arquivado

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

Pablo Hobus

[Resolvido] Array

Recommended Posts

e ae galera tude bem? então pessoal to com uma dúvida cruel..

gostaria de saber se existe algum comando quando solicito um array que ele não repasse os valores vazios..

ou poderia também ser um comando no select do banco, para que este não repasse os valores vazio, em qualquer uma das alternativas já seria solucionado meu problema..

 

grato desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

tava editando o tópico pra me explicar melhor rsrs..

 

minha situação é a seguinte:

realizo um SELECT * FROM patrimonio ORDER BY id_fundo_patrimonio DESC LIMIT 6*

*O LIMIT pode ser de 6 ou de 12, porque esta variável é passada atraves do $_GET[periodo]; (até aqui tudo bem)

 

depois eu gero um array que pega os resultados.. só que os primeiro arrays estão vazios, eu gostaria de excluir esses arrays vazios.. não sei se assim fico mais fácil de entender..

 

do{

$array_teste[]=$row_rsSimulador_seleciona_patrimonio['patrimonio_obtido_variacao'];

} while ($row_rsSimulador_seleciona_patrimonio = mysql_fetch_assoc($rsSimulador_seleciona_patrimonio));

 

tudo funciona correto, mais como no banco de dados os primeiros resultados estão vazios ele me gera os arrays dos vazios porque eu dei um LIMIT

 

olha o resultado com um LIMIT de 12:

Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => 2.99259631671 [9] => 8.71809606916 [10] => 6.35987262771 [11] => 27.6938218684 )

eu quero eliminar esses 8 primeiros resultados automaticamente, pra isso eu poderia usar um LIMIT 8, 6

mais não pode ser só esses 8, porque mês que vem será 7 depois 6 etc.. porque existe uma tabela que é cadastrada todo começo de ano com 12 meses e como já se passaram 4 resta 8 meses.. mais esses 8 meses ainda não foram registrados..

com isso o array deveria pegar os 8 meses que falta do ano passado.. e como eu coloquei um ORDER BY por id ele já faz isso o problema é o array vazio

 

tipo, o select funciona buscando os meses 12, 11, 10, 09, 08, 07, etc... mais como não estão registrados eu teria que eliminar eles do meu array para eu ficar com isso:

04/10, 03/10, 02/10, 01/10, 12/09, 11/09....

Compartilhar este post


Link para o post
Compartilhar em outros sites

selecionaria 6 linhas que não estejam com o campo patrimonio_obtido_variacao vazio

SELECT * FROM patrimonio where patrimonio_obtido_variacao not is null ORDER BY id_fundo_patrimonio DESC LIMIT 6

Compartilhar este post


Link para o post
Compartilhar em outros sites

dale victor, brigado pela ajuda.. por enquanto não consegui com essa função da erro de sintaxe:

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where patrimonio_obtido_variacao not is null DESC LIMIT 6' at line 1

 

fiz de outras formas pra ve se era o DESC que tava fora de ordem essas coisas mais também não consegui..

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tinha colocado errado lá

 

editei tenta agora

SELECT * FROM patrimonio where patrimonio_obtido_variacao not is null ORDER BY id_fundo_patrimonio DESC LIMIT 6

Compartilhar este post


Link para o post
Compartilhar em outros sites

então victor, po valeu mesmo muito obrigado, esse fórum é show a galera sempre ajuda muito massa..

 

só uma correção, fui atrás dessa função no google e encontrei o que tava errado, o correto é IS NOT NULL não NOT IS NULL

pra confirmar como ficou o código funcionando:

 

SELECT * FROM fundo_patrimonio WHERE patrimonio_obtido_variacao IS NOT NULL ORDER BY id_fundo_patrimonio DESC LIMIT 6

valeu mesmo, além de matar uma dúvida aprendi mais uma função, abraço victor

Tópico RESOLVIDO.

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.