estou querendo fazer uma busca com filtro, onde o usuario tera 3 campos: data, assunto e palavra chave, podendo preencher 1,2 ou os 3 campos na busca.
eu fiz um algoritmo com uma seleção da condicao de consulta SQLs dentro IFs, estou tendo resultado, mas não consigo inserir o algoritmo de paginação nesses resultados, portanto, alguém faria as consultas de forma diferente? se esta corredo o algoritmo, como faço para incluir a paginação visto q a consulta SQL depende do parametro passado
<?php
// inicio seleção de IF para consulta SQL
// TODOS OS CAMPOS PREENCHIDOS
if ( ($txt_palavras != "") and ($txt_data != "") and ($txt_chave != "")) {
$npalavra = explode(" ", $txt_palavras);
$totalPalavras = count($npalavra);
for($i = 0; $i < $totalPalavras; $i++)
{
$complemento .= " AND (pd_conteudo LIKE '% " . $npalavra[$i] . " %' OR pd_nome LIKE '%" . $npalavra[$i] . "%' )";
}
$condicao = "WHERE pd_status = 1 $complemento and pd_data LIKE '%$txt_data%' and pd_keywords LIKE '%$txt_chave%' ORDER BY pd_data DESC ";
}
// ASSUNTO E DATA PREENCHIDO
if ( ($txt_palavras != "") and ($txt_data != "") and ($txt_chave == "")) {
$npalavra = explode(" ", $txt_palavras);
$totalPalavras = count($npalavra);
for($i = 0; $i < $totalPalavras; $i++)
{
$complemento .= " AND (pd_conteudo LIKE '% " . $npalavra[$i] . " %' OR pd_nome LIKE '%" . $npalavra[$i] . "%' )";
}
$condicao = " WHERE pd_status = 1 $complemento and pd_data LIKE '%$txt_data%' ORDER BY pd_data DESC "; }
//ASSUNTO E CHAVE PREENCHIDOS
if ( ($txt_palavras != "") and ($txt_chave != "") and ($txt_data == "") ) {
$npalavra = explode(" ", $txt_palavras);
$totalPalavras = count($npalavra);
for($i = 0; $i < $totalPalavras; $i++)
{
$complemento1 .= " AND (pd_conteudo LIKE '% " . $npalavra[$i] . "%' )";
}
$condicao = " WHERE pd_status = 1 $complemento1 and pd_keywords LIKE '%$txt_chave%' ORDER BY pd_data DESC "; }
// SOMENTE CHAVE PREENCHIDA
if (( $txt_chave != "") and ($txt_palavras == "") and ($txt_data =="") ) {
$npalavra = explode(" ", $txt_palavras);
$totalPalavras = count($npalavra);
for($i = 0; $i < $totalPalavras; $i++)
{
$complemento1 .= " AND (pd_conteudo LIKE '% " . $npalavra[$i] . "%' )";
}
$condicao = " WHERE pd_status =1 $complemento1 and pd_keywords LIKE '%$txt_chave%' ORDER BY pd_data DESC "; }
// CHAVE E DATA PREENCHIDA
if (( $txt_chave != "") and ($txt_palavras == "") and ($txt_data != "")) {
$condicao = " WHERE pd_keywords LIKE '%$txt_chave%' AND pd_data LIKE '%$txt_data%' ORDER BY pd_data DESC "; }
// SOMENTE ASSUNTO PREENCHIDO
if (( $txt_palavras != "") and ($txt_chave == "") and ($txt_data == "") ) {
$condicao = " WHERE pd_status = 1 $complemento ORDER BY pd_data DESC "; }
// SOMENTE DATA PREENCHIDA
if (($txt_data != "") and ($txt_palavras == "") and ($txt_chave == ""))
{
$condicao = " WHERE pd_data LIKE '%$txt_data%' ORDER BY pd_data DESC "; }
// FIM SELEÇÃO DE IFS PARA CONSULTA SQL;
// consulta real da SQL com a condição selecionada e variaveis de paginacao
$sql = "SELECT * FROM pg_detalhe $condicao LIMIT $primeiro_registro, $num_por_pagina";
$qry = mysql_query($sql, $conn) or die(mysql_error());
$linha = mysql_fetch_assoc($qry);
?>
Pergunta
igor Br22
Pessoal,
estou querendo fazer uma busca com filtro, onde o usuario tera 3 campos: data, assunto e palavra chave, podendo preencher 1,2 ou os 3 campos na busca.
eu fiz um algoritmo com uma seleção da condicao de consulta SQLs dentro IFs, estou tendo resultado, mas não consigo inserir o algoritmo de paginação nesses resultados, portanto, alguém faria as consultas de forma diferente? se esta corredo o algoritmo, como faço para incluir a paginação visto q a consulta SQL depende do parametro passado
Editado por igor Br22Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.