Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, eu tenho duvida com relação a Query's usando camposde formularios vazios.Exemplificando, eu tenho a seguinte tabela:"Tabela"Código Nome Time 01 Fabricio Corinthians 02 Felipe São Paulo 03 Gustavo Corinthians 04 Daniel Palmeiras 05 Leonardo Palmeiras 07 Felipe CorinthiansEu tenho um formulário com 3 campos, que enviam os dados pra outra página onde é processada a consulta:$codigo=$_POST['codigo'];$nome=$_POST['nome'];$time=$_POST['time'];$search = mysql_query("SELECT * FROM tabela WHERE codigo = '$codigo' AND nome LIKE '$nome' AND time LIKE '$time'");$row = mysql_fetch_array($search);O meu problema é que eu preciso que o usuário possa fazer uma pesquisa utilizando apenas um dos campos do formulario, e se ele quiser refinar a pesquisa dele, ele pode preencher mais campos.Quando deixo um dos campos em branco, a consulta não dá certo, pq ele procura na minha tabela dados que estão em branco.O que posso fazer pra ele saber q se o campo está vazio, ele não entre na consulta?Opa!então, utilizando IF(empty... resolveu meu problema! achei que se usasse % em todos os campos ele retornaria como resultado todas as linhas, mas funcionou beleza!e realmente encadear as condições de campos gerando Querys diferente, dá trampo pra daná!!!!Obrigado ai bacana...
pode-se usar assim :
$codigo = isset($_POST['codigo']) ? $_POST['codigo'] : '%';
>
pode-se usar assim :
$codigo = isset($_POST['codigo']) ? $_POST['codigo'] : '%';
Boooa....vou tentar tbm!
Testa para ver se o valor está vazio.. se estiver seta como %...
Tipo:
$codigo=$_POST['codigo'];
if (empty($codigo )){$codigo = "%";}else{$codigo = $codigo;}
Quando isso bater na query com o valor de % vai vir tudo, pois no mysql % é equivalente ao coringa * do Windows...
Você também pode encadear para gerar uma query dependendendo do que estiver vazio ou preenchido... mas isso vai dar mais trabalho ;) .