tenho uma tabela no MySQL chamada novidades, ela vai conter todas as novidades do site, eu montei uma pagina do meu site pras pessoas que quiserem acessar as novidades mais antigas, com os filtros da pesquisa pelas novidades passadas por metodo $_GET montei o seguinte código:
<? include ("config.php"); //---------------- Captura os Filtros para pesquisa $novidade["id"] = $_GET["novidadeid"]; $novidade["titulo"] = $_GET["novidadetitulo"]; $novidade["data"] = $_GET["novidadedata"]; $novidade["autor"] = $_GET["novidadeautor"]; $novidade["tipo"] = $_GET["novidadetipo"]; $novidade["sqt"] = $_GET["novidadesqt"]; $novidade["spt"] = $_GET["novidadespt"]; //---------------- Mensgens $nao_encontrado = '<table id="titulo_erro"> <tr> <td><img src="imgs/symbols/symbol_stop.gif" />Não Foi Possível Obter Resultados Com Os Filtros Selecionados <img src="imgs/symbols/symbol_stop.gif" /></td> </tr> </table>'; //--------------- Condições & Funções mysql_select_db ("disclecow",$lig); $psq_query = 'SELECT * FROM novidades'; $psq_query1 = ' WHERE id>'.$novidade["spt"].' and ver=1 '; $psq_query2 = ' ORDER BY id DESC LIMIT '.$novidade["sqt"]; $condic_query = ''; //----- Verifica Se Get É um Valor Válido em ID if (($novidade["id"] != "0") or ($novidade["id"] != " ") or ($novidade["id"] != "") or ($novidade["id"] != "null")) { $condic_query = $condic_query.' and id='.$novidade["id"]; } //----- Verifica Se Get É um Valor Válido em Titulo if (($novidade["titulo"] != "") or ($novidade["titulo"] != " ") or ($novidade["titulo"] != "null")) { $condic_query = $condic_query.' and titulo="'.$novidade["titulo"].'"'; } //----- Verifica Se Get É um Valor Válido em Data if (($novidade["data"] != "") or ($novidade["data"] != " ") or ($novidade["data"] != "null")) { $condic_query = $condic_query.' and data="'.$novidade["data"].'"'; } //----- Verifica Se Get É um Valor Válido em Autor if (($novidade["autor"] != "") or ($novidade["autor"] != " ") or ($novidade["autor"] != "null")) { $condic_query = $condic_query.' and autor="'.$novidade["autor"].'"'; } //----- Verifica Se Get É um Valor Válido em Tipo if (($novidade["tipo"] != "") or ($novidade["tipo"] != " ") or ($novidade["tipo"] != "null")) { $condic_query = $condic_query.' and tipo="'.$novidade["tipo"].'"'; } //--------------- Obtendo Resultados $all_query = $psq_query.$psq_query1.$condic_query.$psq_query2; $query_psq = mysql_query($all_query,$lig); echo $all_query; e o código continua mas seria desnescessário eu postar o resto...
Problema quando eu fui dar um echo no $all_query pra ver se ele ia montar um comando certo pro MySQL ele imprimiu isso:
SELECT * FROM novidades WHERE id>1 and ver=1 and id=2 and titulo="null" and data="null" and autor="null" and tipo="null" ORDER BY id DESC LIMIT 1Eu passei as instruções deste modo:
http://meusite.com/index.php?uid=889&novidadeid=2&novidadetitulo=null&novidadedata=null&novidadeautor=null&novidadetipo=null&novidadesqt=1&novidadespt=1No Caso o Problem é que ele não está respeitando a condição de que se o parâmetro for =null ele não adiciona a query que será passada para o mysql. Qual eh o meu erro?