estou montando um site pra um projeto mas estou com um problema, bom primeiro vou explicar:
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 1
No 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 é o meu erro?
Pergunta
Tesla
estou montando um site pra um projeto mas estou com um problema, bom primeiro vou explicar:
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:
Problema quando eu fui dar um echo no $all_query pra ver se ele ia montar um comando certo pro MySQL ele imprimiu isso: Eu passei as instruções deste modo:No 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 é o meu erro?
Link para o comentário
Compartilhar em outros sites
3 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.