op_h2tuga Posted July 11, 2012 at 11:30 PM Report Share #468422 Posted July 11, 2012 at 11:30 PM (edited) Ola, Tenho a seguinte query: $queryDatas = $this->executarSQL("SELECT total_compra,id_cliente FROM compra WHERE DATA BETWEEN '$data' AND '$segdata'"); Depois passo para um array: $result = mysql_fetch_array($queryDatas); O que está mal é que só retorna a primeira linha do resultado desta query, não mostra as outras, fiz o print_r e acho estranho a maneira como está o array. Está assim: Array ( [0] => 4000 [total_compra] => 4000 [1] => 1 [id_cliente] => 1 ) Não sei o porquê de se repetir o total compra, a query está a funcionar no mysql mas no site só devolve um registo. Alguém sabe o que pode ser? Cumprimentos Edited July 11, 2012 at 11:31 PM by op_h2tuga Link to comment Share on other sites More sharing options...
laeknishendr Posted July 11, 2012 at 11:37 PM Report Share #468423 Posted July 11, 2012 at 11:37 PM while($result = mysql_fetch_array($queryDatas)) { print_r($result); } Link to comment Share on other sites More sharing options...
mjamado Posted July 11, 2012 at 11:39 PM Report Share #468424 Posted July 11, 2012 at 11:39 PM Documentação oficial (e repara bem no aviso que aparece ao início). De qualquer forma, os teus dois problemas são: Só é retornada a primeira linha de resultados: isso é comportamento esperado (vê a documentação), tens de iterar pelos resultados da forma que te der mais jeito (um while que verifica se ainda há linhas costuma ser a solução preferida da malta); Índices numéricos e associativos ao mesmo tempo: também é comportamento esperado, visto que não especificaste de que modo queres os resultados (é o segundo parâmetro do método), e o comportamento por defeito é "ambos", quando pode ser "numérico" ou "associativo". Em suma: lê a documentação, está lá tudo. "Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web. Link to comment Share on other sites More sharing options...
op_h2tuga Posted July 11, 2012 at 11:46 PM Author Report Share #468425 Posted July 11, 2012 at 11:46 PM while($result = mysql_fetch_array($queryDatas)) { print_r($result); } Mostra mais um ou dois resultados, mas curiosamente desaparece com o que sempre me tem aparecido. Peço desculpa por não ter fornecido toda a informação, eu tenho isto feito a iterar com um while, for e foreach obviamente não ao mesmo tempo, e não consigo obter os resultados quero, já fiz centenas de querys e é a primeira vez que estou com um problema destes. Como já disse já experimentei de tudo. Cumprimentos Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 12, 2012 at 09:23 AM Report Share #468449 Posted July 12, 2012 at 09:23 AM Peço desculpa por não ter fornecido toda a informação, eu tenho isto feito a iterar com um while, for e foreach obviamente não ao mesmo tempo estás a dizer que tens isso encadeado ?? se for isso o problema está resolvido é melhor colocares o teu código porque senão é ver pessoal a mandar "bitaites" a ver se acerta IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
MASNathan Posted July 12, 2012 at 10:08 AM Report Share #468457 Posted July 12, 2012 at 10:08 AM podes colocar aqui o bloco de código... pode ser que não tenhas reparado em alguma coisa, e nós não podemos adivinhar se não soubermos como tens as coisas Link to comment Share on other sites More sharing options...
op_h2tuga Posted July 12, 2012 at 10:04 PM Author Report Share #468522 Posted July 12, 2012 at 10:04 PM estás a dizer que tens isso encadeado ?? se for isso o problema está resolvido é melhor colocares o teu código porque senão é ver pessoal a mandar "bitaites" a ver se acerta Eu disse que não estava tudo ao mesmo tempo, experimentei com os três ciclos para ver se havia alguma coisa que me estava a falhar. Mas obrigado pela ajuda mas já consegui resolver o problema. Cumprimentos Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 13, 2012 at 12:54 AM Report Share #468527 Posted July 13, 2012 at 12:54 AM e o código ?? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
op_h2tuga Posted July 13, 2012 at 01:16 PM Author Report Share #468585 Posted July 13, 2012 at 01:16 PM e o código ?? Está aqui $data = $_POST['data']; $data1 = strtotime($data); $segdata = $_POST['segdata']; $segdata1 = strtotime($segdata); $queryDatas = $this->executarSQL("SELECT total_compra,id_cliente FROM compra WHERE DATA BETWEEN '$data' AND '$segdata'"); $result = mysql_fetch_array($queryDatas); while($result = mysql_fetch_array($queryDatas)) { $total = $result['total_compra']; $totais = $totais + $total; } Link to comment Share on other sites More sharing options...
mjamado Posted July 13, 2012 at 03:04 PM Report Share #468602 Posted July 13, 2012 at 03:04 PM Tens um fetch fora do ciclo; como tal, o primeiro resultado nunca te aparece. (e continuas sem definir o tipo de resultados - isso é um desperdício de memória) "Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web. Link to comment Share on other sites More sharing options...
op_h2tuga Posted July 13, 2012 at 03:27 PM Author Report Share #468605 Posted July 13, 2012 at 03:27 PM Tens um fetch fora do ciclo; como tal, o primeiro resultado nunca te aparece. (e continuas sem definir o tipo de resultados - isso é um desperdício de memória) O fetch fora do sitio é resultado do copy paste, explica lá melhor o definir o tipo de resultados? Link to comment Share on other sites More sharing options...
mjamado Posted July 13, 2012 at 03:36 PM Report Share #468608 Posted July 13, 2012 at 03:36 PM O fetch fora do sitio é resultado do copy paste Isso quer dizer que já estás a ver os resultados correctos? explica lá melhor o definir o tipo de resultados? De qualquer forma, os teus dois problemas são: (...); Índices numéricos e associativos ao mesmo tempo: também é comportamento esperado, visto que não especificaste de que modo queres os resultados (é o segundo parâmetro do método), e o comportamento por defeito é "ambos", quando pode ser "numérico" ou "associativo". "Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now