Array
(
)

fazer um filtro em PHP

PHP
Marcio Araujo
   - 18 dez 2012

pessoal, estou com uma agenda simples, mas queria fazer um filtro pela operadora de celular das pessoas cadastradas, segue o codigo:
#Código


<?php 
	include_once ("conexao.php");	
?>
<!DOCTYPE html>
<html lang="pt-br">
	<head>		
		<title>Projeto</title>
		<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
		<style type="text/css">
			@import url("css/main.css");
		</style>	
	</head>
		
	<body>	
	<div id="cadastro">
		<fieldset>
			<legend>Listar Contatos</legend>
			<form method="GET" action="listar.php">
				<select name="txtOperadora" id="id">
				<option value="0">-- Selecione --</option>
				<?php 
					if($_GET["txtOperadora"]){
						$id = $_GET["txtOperadora"];
					} else{
						$id = "0";
					}
						
					$SQL = "SELECT * FROM contatos ORDER BY operadora ASC";					
					$query = mysql_query($SQL, $conn);
					while($exibir = mysql_fetch_array($query)){
				?>
					<option value="<?php echo $exibir["id"];?>"<?php echo($exibir["id"] == $id ? "selected='selected'" : "")?>><?php echo $exibir["operadora"];?></option>
					<?php }?>				
				</select>
				<input type="submit" value="Filtrar"/>
				<input type="button" value="Voltar" onClick="history.go(-1)"> 
			</form>			
			<ul>
				<?php
					$SQL = "SELECT * FROM contatos";
										
					if(isset($_GET["txtOperadora"])){
						if(is_numeric($_GET["txtOperadora"])){
							$SQL .= " WHERE id =".$_GET["txtOperadora"];
						}
					}
										
					$query = mysql_query($SQL, $conn);
					while($exibir = mysql_fetch_array($query)){				
				?>				
				<li><?php echo $exibir["id"]?> - <?php echo $exibir["nome"]?> - <?php echo $exibir["email"]?> - <?php echo $exibir["operadora"]?> - <?php echo $exibir["endereco"]?> - <?php echo $exibir["cidade"]?> - <?php echo $exibir["estado"]?> - <?php echo $exibir["sexo"]?> - <?php echo $exibir["idade"]?></li>	
				<?php 
					}
				?>			
			</ul>		    
		</fieldset>	
		</div>
	</body>

Marcio Araujo
   - 19 dez 2012

pessoal, me ajudem aew, por favor!!!

Roniere Almeida
   - 19 dez 2012

alguem sabe?

Marcio Araujo
   - 19 dez 2012

eu to precisando muito disso!!!

Claudiadnh
   - 19 dez 2012

Está com dúvida em qual parte do código?
Tem dois selects na tabela contatos, isso significa que não tem cadastro de operadora?

Marcio Araujo
   - 20 dez 2012

tem, mas eu queria fazer um filtro, tipo, é inserido os dados das pessoas, eu queria filtrar pela operadora, independente da forma que esteja escrito: OI, oi, Oi, Tim, TIM, Tim, tim...mas o problema, é que apresenta todas as operadoras repetidas!!!

obrigado por responder.

Marcio Araujo
   - 20 dez 2012

e aew Claudiadnh, sabe qual script SQL devo usar???

Flávio Ferreira.
   - 28 dez 2012

Selects exemplo:

select * from clientes where operadora like '{$nome_da_operadora}%'

ou se quiser exatamente como está escrito

select * from clientes where operadora like '{$nome_da_operadora}'

se o seu banco de dados for case sensitive, coloca algo como

select * from clientes where lower(operadora) like lower('{$nome_da_operadora}') -- minusculo

select * from clientes where upper(operadora) like upper('{$nome_da_operadora}') -- maiusculo