Ir para conteúdo

POWERED BY:

Arquivado

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

Carlos H Peres de Souza

[Resolvido] Filtrar resultados de select

Recommended Posts

Iae pessoal!

 

Estou com uma duvida e á dois dias não consigo resolver.

Tenha uma pagina que ao ser carregada selecione todos os registro de uma tabela no banco, exceto os registros que estiverem com o campo status definido como Finalizado

 

Até ai beleza!

 

O problema é que tenho nessa mesma pagina um formulário com vários campos, por exemplo:

O.S, data, empresa, funcionário, status

 

Agora preciso achar uma forma de o usuário poder filtrar os resultados conforme ele selecionar nestes campos.

 

Espero ter sido claro.

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Carlos,

 

Se você coloca-se ai seu código ficaria mais fácil ajudar, mas vou tentar assim mesmo.

 

Seguinte, seus resultados são mostrados na mesma página que contém seu formulário de filtragem certo?

 

Bem, oque você tem que fazer é o seguinte.

 

digamos que seu SQL está assim

 

'SELECT * FROM table WHERE status <> finalizado';

e seu form assim tenha os seguintes campos

 

<input id="filtro1" name="filtro1" value=""/>

 

oque você precisa fazer é passar os valores dos campos para sua SQL atravéz de variáveis, tipo.

'SELECT *
FROM table
WHERE filtro1 =' . $_POST['filtro1'] .
'AND status <> finalizado';

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Iae srnetcave,

 

Seguinte, meu código é esse:

 

<?php

		$os 	 = $_POST['os'];
		$empresa = $_POST['empresa'];
		$status	 = $_POST['status'];
		$funcionario = $_POST['funcionario'];
		
		$sql = mysql_query ("SELECT *, date_format(DATA, '%d/%m/%y') AS data FROM servicos WHERE status != 'Finalizado'");
		if ($os != '')
		$sql = mysql_query ("SELECT *, date_format(DATA, '%d/%m/%y') AS data FROM servicos WHERE Id = '$os'");
		if ($empresa != '')
		$sql = mysql_query ("SELECT *, date_format(DATA, '%d/%m/%y') AS data FROM servicos WHERE empresa = '$empresa'");
		if ($status != '')
		$sql = mysql_query ("SELECT *, date_format(DATA, '%d/%m/%y') AS data FROM servicos WHERE status = '$status'");
		if ($funcionario != '')
		$sql = mysql_query ("SELECT *, date_format(DATA, '%d/%m/%y') AS data FROM servicos WHERE funcionario = '$funcionario'");
				
	while( $result = mysql_fetch_array($sql))
	{ 
	echo "<tr>";
	echo "<td>".$result['Id']."</td>";
	echo "<td>".$result['data']."</td>";
	echo "<td>".$result['empresa']."</td>";
	echo "<td>".$result['funcionario']."</td>";
	echo "<td>".$result['destino']."</td>";
	echo "<td>".$result['status']."</td>";
	?>    <td><a href="principal.php?id=<?php echo $result['Id']; ?>">Alterar</a></td>
						<?php
								echo "</tr>";
							} 
				?>

O problema é que a cada if que eu coloco os ultimos deixam de funcionar.

Oque será?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Iae srnetcave,

 

Seguinte, meu código é esse:

 

[...]

 

O problema é que a cada if que eu coloco os ultimos deixam de funcionar.

Oque será?

 

Troque seu código por esse:

 

<?php

		$os      = $_POST['os'];
		$empresa = $_POST['empresa'];
		$status 	= $_POST['status'];
		$funcionario = $_POST['funcionario'];

        $query = "SELECT *, date_format(DATA, '%d/%m/%y') AS data";
        $query .= " FROM servicos";
        $query .= " WHERE status != 'Finalizado'";
    	if ($os != '')    	$query .= " AND Id = '$os'");
    	if ($empresa != '')    	$query .= " AND empresa = '$empresa'");
    	if ($status != '')    	$query .= " AND status = '$status'");
    	if ($funcionario != '')   	$query .= " AND funcionario = '$funcionario'");

    	$sql = mysql_query ($query);
                
	while( $result = mysql_fetch_array($sql))
	{ 
	echo "<tr>";
	echo "<td>".$result['Id']."</td>";
	echo "<td>".$result['data']."</td>";
	echo "<td>".$result['empresa']."</td>";
	echo "<td>".$result['funcionario']."</td>";
	echo "<td>".$result['destino']."</td>";
	echo "<td>".$result['status']."</td>";
	?>    <td><a href="principal.php?id=<?php echo $result['Id']; ?>">Alterar</a></td>
						<?php
								echo "</tr>";
							} 
				?>

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.