Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro O. Alves

[Resolvido] Selecionar todo o Banco de dados

Recommended Posts

Fiz como você sugeriu so consigo a soma sem colocar para filtrar por "data", e mesmo assim a soma esta dando errada, está sempre dando o mesmo valor.

 

Fiz como você sugeriu so consigo a soma sem colocar para filtrar por "data", e mesmo assim a soma esta dando errada, está sempre dando o mesmo valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, você tem que verificar se tem dados nessas tabelas.

 

Se tu quiser postar os scripts de criação de tabelas e inserção de dados aqui eu posso simular pra você, senão tu tem que ver aí o porquê desses dados estarem vindo errados. A query tá certa a lógica que tá sendo errada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw ai eu bati a cabeça aqui um pouco e vi qual o resultado que estava aparecendo, era o resultado da ultima tabela, mandei imprimir todos os resultados separadamente e apareceu todos. Agora so estou vendo um jeito de somar todos. O bom desse problema que estou tendo e que aprende mais nesses 2 dias sobre MySQL, doque antes aprendi sobre funçoes que nem sabia que podia ser feito. Vlw ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim pra somar todos é só ir acumulando o que vem de cada SELECT =]

 

Tranquilo cara precisando estamos aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai cara ta funcionando redondinho ta somando apracendo o que quero, ate ai tudo bem, mais so que fica aparendo mensagem de erro "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\inetpub\vhosts\dbellacred.com.br\httpdocs\soma3.php on line 44".

vou postar o code todo ai.

 $busca = mysql_connect("$local","$usuario","$senha") or die("ERRO AO CONECTAR AO MYSQL, VERIFIQUE COM O ADMINISTRADOR" . mysql_error());
mysql_select_db("$banco") or die("BASE DE DADOS INVÁLIDO");


$tabelaresultado = mysql_query(" SELECT table_name FROM information_schema.tables WHERE table_schema = 'dbellacredcombr'");
        while($tabela = mysql_fetch_array($tabelaresultado))  {      // Note como adicionei o ["table_name"] na variável tabela abaixo, pra indicar a coluna, e depois usarei a variável $nome_tabela
         $nome_tabela = $tabela["table_name"];
         $pesquisa = mysql_query("SELECT sum(pedn5) FROM $nome_tabela WHERE data BETWEEN '01/08/2012' AND '31/08/2012'   ");
          while($sum = mysql_fetch_array($pesquisa)){
  $soma = $soma + $sum["sum(pedn5)"];      }
//Mostrando o Resultado

   ?>

<p align="center"><b>Valor dos contratos:</b>  <font color="#000080"><b>R$ <?echo number_format($soma , 2 , ',' , '.');?>.</b></font></p>


       <?
              }

Eu não sei se a while ta errada ou se e um erro da propria sintexe da $pesquisa, só sei que funciona como tem que funcionar, mais fica dando msg de erro. Ontem fiquei ate tantas horas da manha, srsrs. Vlw se poder quebrar mais essa ai, Agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é a linha 44?

 

Vou dar uma mexida aqui no código e já posto.

 

Seria +- isso:

 

<?php

$conexao = mysql_connect("$local","$usuario","$senha") or die("ERRO AO CONECTAR AO MYSQL, VERIFIQUE COM O ADMINISTRADOR" . mysql_error());

mysql_select_db("$banco") or die("BASE DE DADOS INVÁLIDO");

$query = "SELECT table_name FROM information_schema.tables WHERE table_schema = 'dbellacredcombr'";

$listaTabelas = mysql_query($query);

$soma = 0;

while($tabelas = mysql_fetch_array($listaTabelas))
{
   $nome_tabela = $tabelas["table_name"];

   $query = "SELECT sum(pedn5) FROM " . $nome_tabela . " WHERE data BETWEEN '01/08/2012' AND '31/08/2012'";

   $pesquisa = mysql_query($query);

   while($sum = mysql_fetch_array($pesquisa))
   {
       $soma = $soma + $sum["sum(pedn5)"];
   }
?>

<p align="center"><b>Valor dos contratos:</b><font color="#000080"><b>R$ <?echo number_format($soma , 2 , ',' , '.');?>.</b></font></p>

<?php
}
?>

Faça ajustes se necessário, é pra isso daí funcionar. Pra fazer mais que isso só se estiver com aplicação e banco nas mãos pra ir fazendo testes e encontrar o problema. Se o erro persistir debugue o código, veja se as variáveis estão todas certas e tudo mais.

 

A disposição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, se funcionar posta aí avisando.

 

Senão funcionar mostra qual a linha que tá com problema e tenta debugar as variáveis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei uma olhada praticamente dei um CtrlC CtrlV, continua com o mesmo erro. O Interessante e que ta fazendo o que, quero soma filtra por data imprime tudo direito, o unico problema e a msg de erro, vai entender, rsr.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a linha com problema?

 

Você tem que debugar esse código e ver se as variáveis estão certas, ou então poste o erro no fórum de PHP pois faz muito tempo que não mexo com a linguagem então posso estar fazendo algo errado na lógica ou sintaxe. Porém a parte de banco ficou resolvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então a pesquisa de cima não tá funcionando corretamente. Já tentou executar ela direto no banco pra ver?

 

O erro acontece pra todas as tabelas ou só pra uma / algumas ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E isso que estou achando estrano meu banco de dados tem umas 30 tabelas ate agora inseri informações em todas modifiquei tanto o valor quanto a data que filtra o resultado esta saindo correto. Agora me explica se ta dando erro porque ta funcionando, rsrs Misterio srs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma boa pergunta.

 

Pra descobrir só comentando e debugando partes do código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que entendi o problema, o problema ta no loop da while. Ele le o primeiro normal e depois da erro parace que ele não aceita ser repitido eu acho. Tem logica isso.

 

PWO CARA SE EU TE FALAR QUAL QUE FOI O MEU ERRO ESTUPIDO, NO MEU BANCO DE DADOS A MINHA PRIMEIRA TABELA TINHA APENAS NUMERO, ERA 111, QUANDO DAVA O WHILE ELE NÃO LIA SOMENTE ESSA TABELA ESPECIFICA O RESTO ELE LIA NORMALMENTE. Rsrsrsrrss, vlw ai pela atençao muito obrigado.

 

TO MANDANDO O CODIGO INTEIRO PARA ALGUEM QUE ESTIVER NA MESMA SITUAÇAO, MAIS E CLARO QUE ESTA DENTRO DAS MINHAS EXPECIFICAÇÕES.


<html>
<head>
	<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
	<title>VALOR DOS CONTRATOS</title>
</head>    <body bgcolor=silver>
<body>



<?

     function retirar_acentos_caracteres_especiais($string) {
$palavra = strtr($string, "56", "+-");
$palavranova = str_replace("_", " ", $palavra);
return $palavranova;
}

#Exemplo de uso
$aa=  retirar_acentos_caracteres_especiais("$OPCAO");



	// dados do banco Mysql
 include('config/classe.php');
  include "Config/config_sistema.php";

   $local = "localhost";
$usuario = "CENSURADO";
$senha = "CENSURADO";
$banco = "CENSURADO";
   $zero = "0";    //Busca dos Números para a Soma



   $busca = mysql_connect("$local","$usuario","$senha") or die("ERRO AO CONECTAR AO MYSQL, VERIFIQUE COM O ADMINISTRADOR" . mysql_error());
mysql_select_db("$banco") or die("BASE DE DADOS INVÁLIDO");


$tabelaresultado = mysql_query(" SELECT table_name FROM information_schema.tables WHERE table_schema = 'dbellacredcombr'");
        while($tabela = mysql_fetch_array($tabelaresultado))  {      // Note como adicionei o ["table_name"] na variável tabela abaixo, pra indicar a coluna, e depois usarei a variável $nome_tabela
         $nome_tabela = $tabela["table_name"];

         $pesquisa = mysql_query("SELECT sum(pedn$OPCAO) FROM $nome_tabela WHERE data BETWEEN '$data3' AND '$data4'   ");
          while($sum = mysql_fetch_array($pesquisa)){
  $soma = $soma + $sum["sum(pedn$OPCAO)"];      } }
//Mostrando o Resultado

   ?>

<p align="center"><b>Valor dos contratos:</b>  <font color="#000080"><b>R$ <?echo number_format($soma , 2 , ',' , '.');?>.</b></font></p>

   <p align="center"><table cellspacing='0' cellpadding='0' border='1' width='900'></p>
<tr>

<td><p align="center"><b><font color="#000080">CORRETOR</font></b></p></td>

<td><p align="center"><b><font color="#000080">PROPOSTA</font></b></p></td>

<td><p align="center"><b><font color="#000080">CLIENTE</font></b></p></td>

<td><p align="center"><b><font color="#000080">CPF</font></b></p></td>

<td><p align="center"><b><font color="#000080">DATA PROPOTA</font></b></p></td>

<td><p align="center"><font color="#FF0000"><b>VALOR</b></font></p></td>

       <?

        $tabelaresultado = mysql_query(" SELECT table_name FROM information_schema.tables WHERE table_schema = 'dbellacredcombr'");
        while($tabela = mysql_fetch_array($tabelaresultado))  {      // Note como adicionei o ["table_name"] na variável tabela abaixo, pra indicar a coluna, e depois usarei a variável $nome_tabela
         $nome_tabela = $tabela["table_name"];


$sql = "SELECT * FROM $nome_tabela WHERE pedn5 LIKE  '%$aa%' and data BETWEEN '$data3' AND '$data4'   ";






?>








</tr>
<?
$resultado = @mysql_query($sql)
or die ("Não foi possível realizar a consulta ao banco de dados");
// VARIÁVEL DE VERIFICAÇÃO DE LINHA - SE COLORIDA OU BRANCA
$cor = "cor";
// DEFINE AS CORES DAS LINHAS PRIMEIRA AZUL E SEGUNDA BRANCA
$ln_cor = array(1 => "#CCCCFF", 2 => "#FFFFFF");
// VARIÁVEL DE ALTENAÇÃO
$x = 2;


 while ($linha=@mysql_fetch_array($resultado)) {
      // AQUI ALTERNA CORES DAS LINHAS
if ($x == 2) {
$x = 1;
} else {
$x = 2;
}
   $pedn2 = $linha["pedn2"];
   $nome = $linha["nome"];
  $cpf = $linha["cpf"];
   $data = $linha["data"];
    $id = $linha["id"];
     $aaa = $linha["pedn$OPCAO"];

#Exemplo de uso



// Variavel recebendo a string a ser tratada
$var = "$aaa";
// Variavel recebendo a string que não será tratada para futura comparação

// Variavel recebendo a string já fazendo as substituições
$var = ereg_replace("[+]"," ",$var);
$var = ereg_replace("[-ª]"," ",$var);








echo "<tr>";
echo "<td bgcolor=\"$ln_cor[$x]\"><p align='center'>$pedn2</p></td>";
echo "<td bgcolor=\"$ln_cor[$x]\"><p align='center'>$id</p></td>";
echo "<td bgcolor=\"$ln_cor[$x]\"><p align='center'>$nome</p></td>";
echo "<td bgcolor=\"$ln_cor[$x]\"><p align='center'>$cpf</p></td>";

echo "<td bgcolor=\"$ln_cor[$x]\"><p align='center'>$data</p></td>";

 echo "<td bgcolor=\"$ln_cor[$x]\"><p align='left'>R$$var</p></td>";

}  }
?>

</td>
 </table>
</BODY>
</HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai doido nem sei se você ta por ai mais se tiver, me da mais uma luz a minha função between da dando errado, ve ai se você pode me ajudar. VLW ABRAÇOS

Boa tarde amigo, ainda bem que resolveu aquela parte.

 

Qual o erro? O que está vindo nas variáveis $data3 e $data4? Você tem que verificar isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o erro que dá? Tentou rodar a query direto no banco?

 

Tente usar também data >= '$data3' AND data <= '$data4' pra ver.

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.