kmachado 0 Denunciar post Postado Julho 10, 2012 Olá eu estou com uma dúvida em gostaria de saber se existe uma forma de fazer uma consuta no banco de dados com a restrição where, mas se a variavel assumir um determinado valor, eu a trocaria por um valore que ignoraria a restrição where, tipo assim <?php $variavel = $_REQUEST['dado']; if($variavel == 'indiferente'){ $variavel = 'valor'; //aqui a variável deveria assumir um valor que ignora a restrição where na seleção } $sql_seleciona = mysql_query("select * from tabela where coluna = '$variavel'"); ?> desde já agradeço Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Julho 10, 2012 você pode fazer assim: <?php $variavel = $_REQUEST['dado']; $sql = "select * from tabela"; if($variavel != 'indiferente'){ $sql .= " where coluna = '$variavel'"; } $sql_seleciona = mysql_query( $sql ); ?> entendeu ? apenas se o valor de $variavel, for diferente de "indiferente", é que o WHERE será adicionado a query. Compartilhar este post Link para o post Compartilhar em outros sites
kmachado 0 Denunciar post Postado Julho 10, 2012 Olá amigo, entendi, no caso na minha aplicação eu tenho quatro variáveis mas vou tentar adaptar o seu exemplo, qualquer coisa volto a postar. obrigado pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites
falcao544 11 Denunciar post Postado Julho 10, 2012 Use condicionais na sua consulta! Eu não sei muito bem como é a sintaxe e não tenho como testar agora! Talvez isso ajude: http://dev.mysql.com/doc/refman/5.5/en/if-statement.html http://dev.mysql.com/doc/refman/4.1/pt/control-flow-functions.html Compartilhar este post Link para o post Compartilhar em outros sites
kmachado 0 Denunciar post Postado Julho 10, 2012 Olá eu estou com uma dúvida em gostaria de saber se existe uma forma de fazer uma consuta no banco de dados com a restrição where, mas se a variavel assumir um determinado valor, eu a trocaria por um valore que ignoraria a restrição where, tipo assim <?php $variavel = $_REQUEST['dado']; if($variavel == 'indiferente'){ $variavel = 'valor'; //aqui a variável deveria assumir um valor que ignora a restrição where na seleção } $sql_seleciona = mysql_query("select * from tabela where coluna = '$variavel'"); ?> desde já agradeço Olá olha eu de novo, cara to pirando aqui bem willian, eu analisei sua ideia, mas não eoncotrei uma aplicação prática visto que eu tenho 4 variáveis, como já havia dito antes, veja bem, com eu tenho 4 variáveis e cada uma pode assumir dois valores(ou igual a 'indiferente' ou diferente de 'indeiferente'), eu terei 16 possibilidades considerando todas as conbinações possíveis, isso me da a opção de fazer 1 if e 15 elseif, só que isso geraria uma quatidade de código muito grande, visto que para cada uma das 16 pssibilidades eu teria que escrever linhas de código referente a paginação além de outras coisas, por isso eu estou precisando de uma solução mais inteligente. quanto a select condicional eu dei uma estudada e bati cabeça mas não encontrei uma forma de aplicar no meu caso. caso tenham alguma outras ideia eu gostaria muito se compartilhassem. obrigado Compartilhar este post Link para o post Compartilhar em outros sites
falcao544 11 Denunciar post Postado Julho 11, 2012 Tem como aplicar essas condicionais para solucionar o seu problema! Sugiro que peça que algum moderador/adm mova este tópico para a aba "MySQL", já que lá eles podem te ajudar com a sintaxe! Abrss! Compartilhar este post Link para o post Compartilhar em outros sites
kmachado 0 Denunciar post Postado Julho 11, 2012 É acho que só vai assim mesmo, mas como faço essa solicitação Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Julho 11, 2012 veja bem, com eu tenho 4 variáveis e cada uma pode assumir dois valores(ou igual a 'indiferente' ou diferente de 'indeiferente'), eu terei 16 possibilidades 4 variaveis, cada uma com 2 possibilidades, seriam 8 caminhos, ne?! Mostre o trecho de script completo, ai posso te sugerir alguma coisa. Compartilhar este post Link para o post Compartilhar em outros sites