Ir para conteúdo

POWERED BY:

Arquivado

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

brunosinister

Consulta sql usando variavel

Recommended Posts

A duvida é como faço para efetuar uma consulta utilizando o valor de uma variavel digitada pelo usuario exemplo eu pego pego o codigo do setor e exibo somente as pessoas que participaram de algum evento e são de um determinado setor.

eu tentei assim

 

$consulta = "SELECT * FROM participantes
				LEFT OUTER JOIN participa ON participantes.matr_participante = participa.fk_matr_participante
				LEFT OUTER JOIN eventos ON participa.fk_cod_evento = eventos.cod_evento
				WHERE (	participantes.matr_participante = participa.fk_matr_participante)
				AND (participantes.fk_cod_setor ='$setor')";

porem não está funcionando... alguém pode me ajudar? desde já agradeço a ajuda de todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

A duvida é como faço para efetuar uma consulta utilizando o valor de uma variavel digitada pelo usuario exemplo eu pego pego o codigo do setor e exibo somente as pessoas que participaram de algum evento e são de um determinado setor.

eu tentei assim

 

$consulta = "SELECT * FROM participantes
				LEFT OUTER JOIN participa ON participantes.matr_participante = participa.fk_matr_participante
				LEFT OUTER JOIN eventos ON participa.fk_cod_evento = eventos.cod_evento
				WHERE (	participantes.matr_participante = participa.fk_matr_participante)
				AND (participantes.fk_cod_setor ='$setor')";

porem não está funcionando... alguém pode me ajudar? desde já agradeço a ajuda de todos

Bom dia!

 

Neste caso para ver se está funcionando corretamente você pode tar um echo na variavel $consulta...apenas para ver se esta montando o SQL correto, e estiver tem que ver se o seu comando SQL está correspondento com o que você tem cadastrado.

 

Ah tenha cuidado com SQLInjection...isso se a variavel $setor já não estiver tratada..

 

Espero ter ajudado

 

Leandro Ribas

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro que está aparecendo é o seguinte:

Notice: Undefined index: setor in C:\Arquivos de programas\EasyPHP 2.0b1\www\Pac\consultas2.php on line 8

eu recebi a variavel assim:

$setor = $_POST['setor'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

como já te falaram da um

PHP
echo $setor = $_POST['setor'];

olha se está chegando algum valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me enganei aparecem só os primeiros registros, quando vou para a segunda pagina de minha paginação o erro aparece novamente... e detalhe eu dei o

echo $setor= $_POST['setor']
e aparece o valor correto da variavel

Compartilhar este post


Link para o post
Compartilhar em outros sites

é como o Beraldo disse, Setor no 1º acesso a página não esta definido:

 

mude para

 

if(isset($_POST['setor'])){ $setor = $_POST['setor']; }

 

e faço isso tambem em todas as variaveis que você recebe do form

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim mas o que acontece é que continua o mesmo erro, a primeira página exibe os registros, quando passo para a segunda pagina de minha pagina o erro aparece novamente, já não sei o que pode estar ocorrendo.

 

Segue o código para ver se facilita:

 

//--- Código para conectar ao banco de dados ------------------------------------
	   //------------ servidor, usuario,senha
	   mysql_connect("localhost","root","") or die ("Sem conexão");
	   //--------------- banco de dados
	   @mysql_select_db("pac") or die ("Sem conexão com o banco");

	   if(isset($_POST['setor'])){ $setor = $_POST['setor']; }
	   
	   
	  
	   
		 //-----------------consulta de todas as pessoas que participaram de algum evento
				$consulta = "SELECT * FROM participantes
				LEFT OUTER JOIN participa ON participantes.matr_participante = participa.fk_matr_participante
				LEFT OUTER JOIN eventos ON participa.fk_cod_evento = eventos.cod_evento
				WHERE (	participantes.matr_participante = participa.fk_matr_participante)
				AND (participantes.fk_cod_setor ='$setor')";
				 
				 $total_reg = "8"; //Número de registros por página
				 
$pc = (isset($_GET['pagina'])) ? intval($_GET['pagina']) : "1";


$inicio = $pc-1;
$inicio = $inicio*$total_reg;


$limite = mysql_query("$consulta LIMIT $inicio,$total_reg");
$todos = mysql_query("$consulta");

$tr = mysql_num_rows($todos); // verifica o número total de registros
$tp = $tr / $total_reg; // verifica o número total de páginas

Echo "<p><center><h1>Consulta Geral de Eventos </p></center></h1>";
//iniciando a tabela para exibir os registros
 echo '<center><table width="800" bordercolor="black" style="border:1px solid #000000" border="3" >
			  <tr>
				<td><b>Nome</b></td>
				<td><b>Telefone</b></td>
				<td><b>Nome do evento</b></td>
				<td><b>Tipo de Evento</b></td>
				<td><b>Inicio</b></td>
				<td><b>Fim</b></td>
				<td><b>Carga Horaria<b></td>
				
							  </tr>';


## vamos criar a visualização ##
while($dados = mysql_fetch_array($limite)) {
$nome	 = $dados["nome_participante"];
$tel_pa   = $dados["tel_participante"];
$nome_ev  =$dados["nome_evento"];
$data_ini =$dados["data_inicio"];
$data_fim =$dados["data_fim"];
$carga_ho =$dados["carga_horaria"];
$tipo_eve =$dados["tipo_evento"];

echo "<tr>";
echo "<td> $nome</td>";
echo "<td> $tel_pa</td>";
echo "<td>$nome_ev</td>";
echo "<td>$tipo_eve</td>";
echo "<td>$data_ini</td>";
echo "<td>$data_fim</td>";
echo "<td>$carga_ho</td>";


echo"</tr>";
}

$anterior = $pc -1;
$proximo = $pc +1;
if($pc>1) {
echo " <a href='?pagina=$anterior'><- Anterior</a> ";
}
echo "|";
if($pc<$tp) {
echo " <a href='?pagina=$proximo'>Próxima -></a>";

}	 


				 


				 
				 
			
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois de sair da página 1, $_POST não mais existe. Você deve deixar a palavra buscada na URL, para pegar com GET ou em sessão.

Mais um problema nem faço idéia de como poderei fazer, eu sou iniciante e muitas coisas ainda são meio obscuras para mim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser fazer a busca com formulário por método GET, veja o tópico paginação php/mysql aqui de PHP, que está em andamento com uma dúvida semelhante.

 

Se quiser continuar com o método POST, use sessões. Veja:

http://scriptbrasil.com.br/forum/index.php?showtopic=104054

http://br2.php.net/session

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.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.