Ir para conteúdo

POWERED BY:

Arquivado

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

Davi Wagner

Problemas com seleção de dados mysql!

Recommended Posts

Estou fazendo um site, a parte de inserção de dados funciona perfeitamente, a parte de update e excluir também. Porém na página de exibição não está dando certo. Na página index.php, tenho vários painéis para a exibição dos dados. Os includes estão todos corretos. Mas a página abre no localhost com a mensagem de que a tabela "tal" não existe. Porém se eu desabilitar todos os SELECT e deixar apenas um, funciona perfeitamente. Tentei com todas as select e cada qual funciona corretamente desde que seja a única na página. Como resolvo este problema? Sou novato em PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o codigo que esta dando erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

os includes:

<!--início conexão com BD-->
     <?php
     require_once("conexao/contadores.php");	
     require_once("conexao/dicas.php");
     require_once("conexao/noticias.php");
     ?>	 
<!--fim conexão com BD-->

Select's:

<!--início código para contadores-->
     <?php
	 $seleciona_visitas = mysql_query("SELECT visitas FROM visitas")
	                      or die(mysql_error());
	 while($res_visitas = mysql_fetch_array($seleciona_visitas)){
			  
	 $visitas = $res_visitas[0];
	 $visitas_mais = $visitas +1;
		
	 session_start();
	 $sessao        = session_id();
	 $tempo_on   = time();
	 $tempo_fim  = time() - 300;
	 $ip              = $_SERVER['REMOTE_ADDR'];
		  
	 $termina_sessao = mysql_query("DELETE FROM usuarios_online WHERE tempo < '$tempo_fim' ")
		          or die(mysql_error());
				  		   			   
	 $pega_sessao = mysql_query("SELECT sessao, tempo, ip FROM usuarios_online WHERE sessao = '$sessao'")
		        or die(mysql_error());
		  
	 $contar_sessao = mysql_num_rows ($pega_sessao);
		         if($contar_sessao <='0'){
			  
	 $nova_sessao = mysql_query("INSERT INTO usuarios_online (sessao, tempo, ip) VALUES ('$sessao', '$tempo_on', '$ip')")
		        or die(mysql_error());
						 
	 $contar = mysql_query	("UPDATE visitas SET visitas = '$visitas_mais'")
		                 or die(mysql_error());			 	
		  }
		  else{
			  
	 $atualiza_sessao = mysql_query("UPDATE usuarios_online SET tempo = $tempo_on WHERE sessao = '$sessao'")
			 or die(mysql_error());
		  }
		  }	
		  	  
	//printa usuários on line				   
	$seleciona_usuarios_online = mysql_query("SELECT * FROM usuarios_online")
		                     or die(mysql_error());	
									   
	$contar_usuarios_online = mysql_num_rows($seleciona_usuarios_online);
		  
	//printa visitas no site
	$seleciona_visitas_agora = mysql_query("SELECT visitas FROM visitas")
		                                          or die(mysql_error());
	while($res_visitas_agora = mysql_fetch_array($seleciona_visitas_agora)){
			  
	$visitas_agora = $res_visitas_agora[0];
		  }
      ?>   
<!--fim código para contadores-->		

<!--início código para dicas-->
     <?php	 
	$seleciona_dicas = mysql_query("SELECT * FROM dica");
	  
	 while($resultado_dicas = mysql_fetch_array($seleciona_dicas)){
		  
	 $titulo_dica = $resultado_dicas['titulo_dica'];
		  }		  
     ?>
<!--fim código para dicas-->	

<!--início código para noticias-->
     <?php	 
	$seleciona_noticias = mysql_query("SELECT * FROM noticia");
		  
	while($resultado_noticias = mysql_fetch_array($seleciona_noticias)){
		  
	$titulo_noticia = $resultado_noticias['titulo_noticia'];
		  }	 
     ?>
<!--fim código para noticias-->

<!--início código para saudação-->
     <?php
          $hora = date("H:i");
		  
          if ($hora >= 0 && $hora <6)
	  {$saudacao = "Boa madrugada!";}
		  
          elseif ($hora >= 6 && $hora <12)
	  {$saudacao = "Bom Dia!";}
		  
	  elseif ($hora >=12 && $hora <18)
	  {$saudacao = "Boa Tarde!";}
		  
	  elseif($hora >= 18 && $hora <24)
	  {$saudacao = "Boa Noite!";}		  
     ?>
<!--início código para saudação-->	

o Código da conexão< apenas um dos bancos pois é só trocar o banco:

<?php
$conexao = mysql_connect('localhost', 'root', '')
           or die("Ocorreu um erro na conexão!");		   
$db      = mysql_select_db('contadores')
           or die("Ocorreu um erro ao selecionar o Banco de Dados!"); //BD contadores
				 			 
$codifica = mysql_query("SET NAMES 'utf8';");		//codifica o php em utf8		 
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste a mensagem do erro, qual tabela nao existe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa! Desculpa, acabei esquecendo de postar o erro:

 

Table 'noticias.visitas' doesn't exist

 

Lembrando que se eu alunar todas as cenexões e código do respectivo SELECT e deixar apenas uma conexão e um select, a exibição de apenas um banco, funciona certinho. Uso o NOTEPAD ++, charset utf-8 sem BOM. Pelo que entendo ele está vinculando o banco de contador de visitas com o banco de noticias.

 

Desde já agradeço a atenção amigo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente passar as respectivas conexões para o mysql_query(),

 

 

 

mysql_query('select noticias.............', $db_noticiais);
 
mysql_query('select visitas ........', $db_visitas);
 
mysql_query('select dicas............', $db_dicas);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vai mesmo! o estranho é que se eu deixar apena uma conexão e sua respectiva SELECT funciona perfeitamente. Não entendo muito de PHP, mas deve ser algo na configuração. Pesquisei sobre a configuração do EASY, mas nada referente a SELECTs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então quando vc não especifica a conexão no mysql_query() ele pega a ultima valida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido!

 

Era problemas dom a versão do PHP. Agora atualizei para o PHP5. E estruturei tudo em MYSQLI, pois pesquisando aqui vi que o mysql está com os dias contados, por isso resolvi já indo aprendendo OOP (Programação Orientada a Objetos) e adotar esta prática em todos os meus projetos daqui em diante. Realmente gostei do mysqli, ele é mais objetivo na escrita.

 

Obrigado shini pelas dicas, realmente me ajudaram onde e o que realmente pesquisar.

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.