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