Ir para conteúdo

POWERED BY:

Arquivado

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

Roberto_S_Luz

[Resolvido] Consulta

Recommended Posts

Olá galera, tudo bem com você's??? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Bom... a minha duvida é muito simples (para quem sabe), mas tá me quebrando a cabeça aki...

 

Bom...eu tenho a seguinte consulta

SELECT  SUM(he_valor_pago) AS RESULTADO FROM hora_extra where hora_extra.`he_data` BETWEEN "2008/11/4" and "2008/11/6"

A duvida é...

 

utilizando um gerenciador ou até mesmo pelo console, o valor que será visualizado é um valor contendo uma somatoria do campo he_valor_pago entre as datas de 4/11/2008 à 6/11/2008.

 

Enfim... pelo gerenciador ou diretamente no console do MySQL, tá tudo beleza...mas...gostaria de visualizar isso em PHP.

 

Como posso pegar apenas a soma do valor de he_valor_pago e imprimir para o cliente visualizar?

 

Bom...se alguem puder me ajudar, ficarei grato...caso eu conseguir por conta própria voltarei e postarei o resultado ok. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Um abraço a todos!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom...até onde eu to conseguindo é aki...mais ainda não tá do jeito que eu quero...

 

 

 

class consultar2{
		
	
	public $texto1;
	public $texto2;
	
	public function consultar2($texto1 ="", $texto2 ="" ){
	
		echo $this->texto1 = $texto1;echo"<br>";
		echo $this->texto2 = $texto2;echo"<br>";

	

	
	require_once ("conexao.php");

		
	$db = new conexao();
	$db->abrir();
	

	echo $sql = "SELECT SUM(he_valor_pago) AS soma FROM hora_extra WHERE hora_extra.`he_data` BETWEEN '$this->texto1' and '$this->texto2'";
	   $result = mysql_query($sql);
		   $rs = mysql_fetch_array($result);
   
   	   return number_format($rs['soma'], 2, ",", ".");
		 

		 
		
		 // return $consultar;	
		
		
  } 
}

Bom...o que está acontecendo é o seguinte...

 

No seguinte trecho

 

'$this->texto1' and '$this->texto2'"

se eu substituir por valores diratamente na SQL dá certo

 

Ex:

'2008/11/4' and '2008/11/5'"

desse jeito acima, passa de boa, mas quando digito os valores em input's, não funciona, da o seguinte erro:

 

Eu mandei imprimir a SQL:

SELECT SUM(he_valor_pago) AS soma FROM hora_extra WHERE hora_extra.`he_data` BETWEEN '2008/11/5' and '2008/11/7'

SELECT SUM(he_valor_pago) AS soma FROM hora_extra WHERE hora_extra.`he_data` BETWEEN '' and ''
0,00

Bom...a primeira linha mostra os valores digitados mas a segunda...não aparece nada, suponho que o erro estejá por aí, pois se eu digitar os valores direto na SQL, os as duas linhas fincam preenchidas e dá o resultado correto.

Ahh detalhe, essa segunda linha aí, não sei de onde veio...apenas mandei imprimir a SQL e vem essas duas linhas...o fato é que...quand odar certo, as datas deve está nas duas linhas. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Bom....tá aí o meu problema, caso alguem pude ajudar ok... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Um abraço!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conforme o aviso existente no fórum de origem deste post, não é permitida a postagem de dúvidas nesta área, motivo pelo qual este tópico será movido para o fórum principal deste assunto.

 

Tópico Movido

 

Origem: Artigos, Tutoriais e Matérias (PHP) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Destino: PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem no modo estruturado eu faria assim !!

 

$sel = mysql_query("SELECT SUM(he_valor_pago) AS soma FROM hora_extra WHERE hora_extra.'he_data' BETWEEN 'data1' and 'data2' '');

 

if($sel)

{

while($l = mysql_fetch_row($sel))

{

$pega_valor = $l[0];

}

}

 

echo $pega_valor;

 

não sei se é isso que você quer, más em todo caso fica ae a dica!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo essa sua classe é bem doida.. mas vamos la..

 

você vai criar seu form.. exemplo simples..

 

formulario html..

<form id="teste" name="teste" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  <label>Data1: 
  <input name="d1" type="text" id="d1" />
  </label>
  <br />
  <br />
Data2: 
<label>
<input name="d2" type="text" id="d2" />
</label>
<br />
<br />
<label>
<input name="Vai" type="submit" id="Vai" value="Vai" />
</label>
</form>

 

ai abaixo do formulário html... tente fazer isto..

 

/* include de sua classe consultar2 */

$teste->consultar2('".$_POST['d1']."','".$_POST['d2']."');

tente fazer isso

e nos campos de Data1 e Data 2

coloque as datas como você colocou nos seus testes..

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu deixaria essa sua classe...

 

class consultar2{
		
	
	public $texto1 = "";
	public $texto2 = "";
	
	public function consultar2($texto1, $texto2){
	
		$this->texto1 = $texto1;
		$this->texto2 = $texto2;

}

   
	public function rodaSoma() {

	
	require_once ("conexao.php");		
	$db = new conexao();
	$db->abrir();
	
   $sql = "SELECT SUM(he_valor_pago) AS soma FROM hora_extra WHERE hora_extra.`he_data` BETWEEN '$this->texto1' and '$this->texto2'";
   $result = mysql_query($sql);
   $rs = mysql_fetch_array($result);
  
   return number_format($rs['soma'], 2, ",", ".");

 }
}

e dai voltando aquele exemplo que te passei..

você usaria assim..

 

 

/* faça o include de sua classe */

$teste = new consultar2;
$teste->consultar2('".$_POST['d1']."','".$_POST['d2']."');

$teste->rodaSoma();

mais ou menos.. isso nem testei pra ve se funciona..

mas tente adaptar ao seu código..

 

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

[RESOLVIDO] - "Pelo menos por enquanto, rsss".

 

Bom...primeiramente quero agradecer ao Tunder pela ajuda, é exatamente desse jeito aí que eu tava querendo fazer meu amigo, tirando é claro a parte de ser estruturado, mas...a sua dica foi de grade ajuda. Muito obrigado mesmo.

 

E agradecer tambem ao André Baptista que tambem postou algumas dicas que me ajudou a chegar onde eu queria.

Bom...realmente se trata de uma classe meio doidinha André Baptista, mas...é apenas um teste, portanto não me preocupei muito na parte de estruturação não.

Bom...o codigo que me passou, funcionou beleza assim com o o do Tunder, só que...tive que fazer algumas alterações pois não funcionou com a parada do $_SERVER['PHP_SELF'];, portanto tive que tira-lo e deixar da forma que eu havia colocado mesmo, mas...isso são detalhes...

 

Segue abaixo as duas forma que eu fiz:

 

form.php

<br><form id="teste" name="teste" method="post" action="processo.php">
  <label>Data1:
  <input name="texto1" type="text" id="d1" />
  </label>
  <br />
  <br />
Data2:
<label>
<input name="texto2" type="text" id="d2" />
</label>
<br />
<br />
<label>
<input name="Vai" type="submit" id="Vai" value="Vai" />
</label>
</form>

processo.php

 

require_once ("conexao.php");
		require_once ("consultar2.php");
		
		//require_once ("geral.php");
		
		$db = new conexao();
		$db->abrir();
		
		$consultar2 = new consultar2($_POST["texto1"],$_POST["texto2"]);
		
		echo "<br><br><br>".$consultar2->rodaSoma();

consultar2.php

class consultar2{
		
	
	public $texto1;
	public $texto2;
	
	public function consultar2($texto1 = "", $texto2 = ""){
	
		echo $this->texto1 = $texto1;echo"<br>";
		echo $this->texto2 = $texto2;echo"<br><br><br>";

}

  
	public function rodaSoma() {

	
	require_once ("conexao.php");		
	$db = new conexao();
	$db->abrir();
	
   echo $sql = "SELECT SUM(he_valor_pago) AS soma FROM hora_extra WHERE hora_extra.`he_data` BETWEEN '$this->texto1' and '$this->texto2'";
   /*
	// Forma do André Baptista

  $result = mysql_query($sql);
   $rs = mysql_fetch_array($result);
  
   return number_format($rs['soma'], 2, ",", ".");

*/
   /*
  // Forma do Tunder
   $result = mysql_query($sql);
	
		if($result){
			
			while($valor = mysql_fetch_row($result)){
			
				$pega_valor = $valor[0];
			
			}
		}
	
		return $pega_valor; */

}
}

Bom...como eu havia dito que ia postar as soluções....então aí está...são duas soluções...uma como a ajuda do Tunder e outra com a ajuda do André Baptista, um grande agraço à você's dois... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Bom...até a proxima pessoal. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Um abraço!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

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.