jluiz27a 0 Denunciar post Postado Junho 30, 2009 tenho este codigo $mes = date('m'); $sql = mysql_query("SELECT * FROM saida WHERE m1 = '$mes'"); que esta funcionando perfeito, ele me so me mostra o mes que foi digitado, mas queria fazer uma pesquisar onde ele os campos m1,m2,m3,m4,m5 se for igual a $mes imprimir valor mes atual. neste select ele so pega um campo, não estou estou tendo logica para pega os 5 campos sei que puro sql. Compartilhar este post Link para o post Compartilhar em outros sites
celsoendo 0 Denunciar post Postado Julho 1, 2009 Não entendi nada! :wacko: Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Julho 7, 2009 se for o que entendi teremos alguns OR WHERE m1 = '$mes'" OR m2 = '$mes'" OR m3 = '$mes'" ... mas qual o motivo de sua tabela está assim com varios campos meses? Compartilhar este post Link para o post Compartilhar em outros sites
pedro.wtf 0 Denunciar post Postado Julho 7, 2009 Mano, reescreve essa dúvida porque está osso de entender! Compartilhar este post Link para o post Compartilhar em outros sites
_Felix 0 Denunciar post Postado Julho 11, 2009 Vamos ver se eu entendi... Ex. se na sua aplicação tiver um filtro com valor todos, Janeiro, Fevereiro.... quando você recuperar todos deve listar todos os meses, sendo assim recupere todos com o valor =% na consulta SQL faça: WHERE m1 LIKE <Varíavel recuperada> se a varíavel recuperada for todos então: Será um LIKE (%) que listará todos registros daquele campo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Julho 11, 2009 tenho este codigo $mes = date('m'); $sql = mysql_query("SELECT * FROM saida WHERE m1 = '$mes'"); que esta funcionando perfeito, ele me so me mostra o mes que foi digitado, mas queria fazer uma pesquisar onde ele os campos m1,m2,m3,m4,m5 se for igual a $mes imprimir valor mes atual. neste select ele so pega um campo, não estou estou tendo logica para pega os 5 campos sei que puro sql. Tenta assim: function criaSQLString( $array ){ $sep = "__mm__"; $sql = sprintf( sprintf( "( %s = '%%s' )" , $sep ) , implode( sprintf( "' ) OR ( %s = '" , $sep ) , $array ) ); for ( $i = 1; preg_match( sprintf( "/\\(\\s(%s)\\s\\=\\s([^\\)]+)\\s\\)/" , $sep ) , $sql ); $i++ ){ $sql = preg_replace( sprintf( "/%s/" , $sep ) , sprintf( "m%d" , $i ) , $sql , 1 ); } return( sprintf( "SELECT * FROM saida WHERE %s" , $sql ) ); } // Em vez de usar uma variável para cada mes, use uma matriz contendo todos os meses $meses = array( date( "m" ) , date( "m" ) , date( "m" ) , date( "m" ) , date( "m" ) , date( "m" ) ); $sql = mysql_query( criaSQLString( $meses ) ); Compartilhar este post Link para o post Compartilhar em outros sites
scorpio 7 Denunciar post Postado Julho 11, 2009 Sou a favor de usar o IN. select * from saida where '$mes' in (m1,m2,m3,m4,m5) Compartilhar este post Link para o post Compartilhar em outros sites
jluiz27a 0 Denunciar post Postado Julho 11, 2009 Sou a favor de usar o IN. select * from saida where '$mes' in (m1,m2,m3,m4,m5) Muito obrigado a todos, mas ja resolve, bem não foi uma modelagem muito boa mas so conseguir resolver com esta mesma. obrigado Compartilhar este post Link para o post Compartilhar em outros sites