Jump to content


Photo

[Ajuda] Buscar Por Data


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

#1 Celio TI C.

Celio TI C.

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte, Minas Gerais =)

Posted 28/06/2010, 13:42

Estou tentando tentando tentando mas nao consigo fazer um select para buscar por data...


<html>
<head>
<title>Controle de Conexão</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
	<table border="1"><tr>
		<td><b>ID</b></td>
		<td><b>Data</b></td>
		<td><b>Nome</b></td>
		<td><b>Cache</b></td>
		<td><b>Fora de Cache</b></td>
		<td><b>ID do Site</b></td>
		<td><b>Sumario de tempo</b></td>
	</tr>
		<?php
			
function fetch_records($table_name, $fields){
			include 'conexao.php';
			// começando a partir de
$do_dia = "28";
$do_mes = "05";

// até ...
$ate_dia = "29";
$ate_mes = "05";

				//include 'execulta_sql.php';
				// Fazendo uma consulta SQL e retornando os resultados em uma tabela HTML id, date, userID, inCache, outCache, sitesID, summaryTime
					//$query = "SELECT 'traffic'.id, 'traffic'.date, 'traffic'.time, 'traffic'.bytes, 'traffic'.url, 'traffic'.authuser, 'hostnames'.id, 'hostnames'.hostnames 
					//FROM traffic, hostnames WHERER traffic.id = hostnames.id";
					//$query = 	"SELECT trafficSummaries.id,trafficSummaries.date, hostnames.hostname 
								//FROM trafficSummaries,hostnames WHERE trafficSummaries.data LIKE '%2010-05-28%' AND trafficSummaries.id = hostnames.id";
					/*$query = "SELECT trafficSummaries.* FROM trafficSumaries 
									WHERE DATA_FORMAT(data, '%m-%d')
									BETWEEN DATA_FORMAT('2010-$do_mes-$do_dia','%m-%d')
									AND DATA_FORMAT('2010-$ate_mes-$ate_dia','%m-%d')";*/
					$query = "SELECT * FROM trafficSummaries WHERE data BETWEEN '05-28' AND '05-29'";
					$resultado = mysql_query($query,$conexao);
											
						if($resultado)
						{
						if(mysql_num_rows($resultado) == 0){
                                return "nao a dados no seu database";  
						}
							Else {
								while($arr = mysql_fetch_array($resultado, MYSQL_ASSOC)){
									$table .= "\t\t<tr>\n";
										foreach ($arr as $val_col) 
										{
											$table .= "\t\t\t".'<td>'.$val_col.'</td>'."\n";
										}
										$table .= "\t\t</tr>\n";                                       
								}
								$table .= "</table>";
								return $table;
							}
							mysql_free_result($run);       
						}
						
						//while ($linha = mysql_fetch_array($resultado)) 
						return "erro ao criar tabela.";
 }
						{
		?>
   		<tr>
			<td><?php echo $linha['id']; ?></td>
			<td><?php echo $linha['date']; ?></td>
			<td><?php echo $linha['userID']; ?></td>
			<td><?php echo $linha['inCache']; ?></td>
			<td><?php echo $linha['outCache']; ?></td>
			<td><?php echo $linha['siteID']; ?></td>
			<td><?php echo $linha['summaryTime']; ?></td>

		</tr>
		<?php
						}
						//$table = "product_master";
        //$cols = array("id","date","userID","inCache","outCache","sitesID","summaryTime","ase",);
        echo fetch_records($table, $cols);
						
		//mysql_closed($conexao)
		?>
</table>
</table>
</body>
 </html>

resolvi meu problema mas agora quando eu coloco o seguinte comando...

$query = "SELECT traffic.id, traffic.date, traffic.time, traffic.url, traffic.authuser, hostnames.hostname FROM traffic,hostnames 
							WHERE traffic.date BETWEEN '2010-05-28' AND '2010-05-29'";



o sistema ultrapassa o tempo limite ....

e nao retorna nada....

eu queria fazer algo tipo isso...


$query = "SELECT traffic.id, traffic.date, traffic.time, traffic.url, traffic.authuser, hostnames.hostname FROM traffic,hostnames 
							WHERE traffic.date BETWEEN '2010-05-28' AND '2010-05-29'
WHERE traffic.ip = hostnames.ip";


#2 André Manoel

André Manoel

    Doutor

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

Posted 29/06/2010, 11:07

Explica um pouco mais da sua dúvida que eu não entendi qual é o erro ...

:ponder:
Iniciando na Ajuda On line...

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

#3 Salsero

Salsero

    Normal

  • Usuários
  • 60 posts
  • Sexo:Masculino
  • Localidade:Salvador
  • Interesses:PHP e Banco de Dados

Posted 29/06/2010, 11:20

axo q resolve seu problema


SELECT traffic.id, traffic.date, traffic.time, traffic.url, traffic.authuser, hostnames.hostname
FROM traffic,hostnames
WHERE traffic.ip = hostnames.ip AND traffic.date BETWEEN '2010-05-28' AND '2010-05-29'

Vagner Fonseca
Programador PHP e BD
Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#4 Celio TI C.

Celio TI C.

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte, Minas Gerais =)

Posted 30/06/2010, 09:24

nao deu erro nem aconteceu nada....


$query = "SELECT SELECT traffic.id, traffic.date, traffic.time, traffic.url, traffic.authuser, hostnames.hostname 
						FROM traffic,hostnames
						WHERE (traffic.ip = hostnames.ip AND traffic.date)ADN ( BETWEEN '2010-05-28' AND '2010-05-29') AND
                                                (LIKE '%celio.ribeiro%') ";
					$resultado = mysql_query($query,$conexao);



eu preciso que so mostre os dados que a data for tal tipo como esta ai em cima e o campo authuser for ao nome do usuario...

valeu man .... vcs me ajudaram muito.... era so fazer da seguinte forma...


"SELECT traffic.id, traffic.date, traffic.time, traffic.url, traffic.authuser, hostnames.hostname 
						FROM traffic,hostnames
						WHERE (traffic.ip = hostnames.ip) AND (traffic.date BETWEEN '2010-05-28' AND '2010-05-29') ";

Pessoal estava funcionando normal so que agora esta dando erro estranho...


<html>
<head>
<title>Controle de Conexão</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
	<table border="1"><tr>
		<td><b>ID</b></td>
		<td><b>Data</b></td>
		<td><b>Nome</b></td>
		<td><b>Cache</b></td>
		<td><b>Fora de Cache</b></td>
		<td><b>ID do Site</b></td>
		<td><b>Sumario de tempo</b></td>
	</tr>
		<?php
			
function fetch_records($table_name, $fields){
include 'conexao.php';
// começando a partir de
// Fazendo uma consulta SQL e retornando os resultados em uma tabela HTML id, date, userID, inCache, outCache, sitesID, summaryTime
$query = "SELECT traffic.id, traffic.date, traffic.time, traffic.url, traffic.authuser, hostnames.hostname 
			FROM traffic,hostnames
			WHERE (traffic.ip = hostnames.ip) 
			AND (traffic.date BETWEEN '2010-05-28' AND '2010-05-29') 
			AND (traffic.authuser LIKE '%celio.ribeiro%') ";
			$resultado = mysql_query($query,$conexao);
					while ($linha = mysql_fecth_array($consulta)) {
						 if($resultado)
						{
							if(mysql_num_rows($resultado) == 0){
									return "nao a dados no seu database";  
						}
							Else {
								while($arr = mysql_fetch_array($resultado, MYSQL_ASSOC)){
									$table .= "\t\t<tr>\n";
										foreach ($arr as $val_col) 
										{
											$table .= "\t\t\t".'<td>'.$val_col.'</td>'."\n";
										}
										$table .= "\t\t</tr>\n";                                       
								}
								$table .= "</table>";
								return $table;
							}
							mysql_free_result($run);       
						}
						//while ($linha = mysql_fetch_array($resultado)) 
						return "erro ao criar tabela.";
 }
						{
		?>
   		<tr>
			<td><?php echo $linha['id']; ?></td>
			<td><?php echo $linha['date']; ?></td>
			<td><?php echo $linha['userID']; ?></td>
			<td><?php echo $linha['inCache']; ?></td>
			<td><?php echo $linha['outCache']; ?></td>
			<td><?php echo $linha['siteID']; ?></td>
			<td><?php echo $linha['summaryTime']; ?></td>

		</tr>
		<?php
					}
		//$table = "product_master";
        //$cols = array("id","date","userID","inCache","outCache","sitesID","summaryTime","ase",);
        echo fetch_records($table, $cols);
		//mysql_closed($conexao)
		?>
</table>
</table>
</body>
</html>

Pode feixar o topico problema resolvido.... ficou assim entao segue o codigo...

<html>
<head>
<title>Controle de Conexão</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
	<table border="1"><tr>
		<td><b>ID</b></td>
		<td><b>Data</b></td>
		<td><b>Horario</b></td>
		<td><b>Site (URL)</b></td>
		<td><b>Usuario</b></td>
		<td><b>Ip Maquina</b></td>
	</tr>
		<?php
//Iniciando a função para ciar as tabelas e iniciar a pesquisa
function fetch_records($table_name, $fields){
include 'conexao.php';
// começando a partir de
$do_dia = "28";
$do_mes = "05";
// até ...
$ate_dia = "29";
$ate_mes = "05";
$query = "SELECT traffic.id, traffic.date, traffic.time, traffic.url, traffic.authuser, hostnames.hostname 
						FROM traffic,hostnames
						WHERE (traffic.ip = hostnames.ip) AND (traffic.date BETWEEN '2010-05-28' AND '2010-05-29') AND (traffic.authuser LIKE '%celio.ribeiro%') ";
//laça para gerar os dados nas tabelas.
$resultado = mysql_query($query,$conexao);
	if($resultado)
    {
		if(mysql_num_rows($resultado) == 0)
		{
			return "nao a dados no seu database";  
		}
			Else 
			{
				while($arr = mysql_fetch_array($resultado, MYSQL_ASSOC))
				{
					$table .= "\t\t<tr>\n";
						foreach ($arr as $val_col) 
						{
							$table .= "\t\t\t".'<td>'.$val_col.'</td>'."\n";
						}
						$table .= "\t\t</tr>\n";                                       
				}
				$table .= "</table>";
				return $table;
        }
			mysql_free_result($run);       
    }
                                                
        //while ($linha = mysql_fetch_array($resultado)) 
		return "erro ao criar tabela.";
 }
        //chamando a função com tabela e dados.                                     
		$table = "traffic,hostnames";
        $cols = array("traffic.id","traffic.date","traffic.time","traffic.url","traffic.authuser","hostnames.hostname",);  //traffic.id, traffic.date, traffic.time, traffic.url, traffic.authuser, hostnames.hostname
        echo fetch_records($table, $cols);
						
	//	mysql_closed($conexao)
		?>
</table>
</table>
</body>
</html>


#5 LeoCrispa

LeoCrispa

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino

Posted 27/07/2010, 17:31

ai Celio que um JOIN e um ALIAS ajudaria voce

assim..

$query = "SELECT A.id, A.date, A.time, A.url, A.authuser, B.hostname FROM traffic A LEFT JOIN  hostnames B ON (A.ip = B.ip) WHERE A.date BETWEEN '2010-05-28' AND '2010-05-29'
";

tenta isso qlqer duvida posta ai... vlw




2 user(s) are reading this topic

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

IPB Skin By Virteq