Marlon Pacheco 132 Denunciar post Postado Julho 1, 2014 Pois é. O fórum modera palavras "proibidas" e o "s e x o" é alterado para "---o". Muda isso, e pelo que eu entendi, a consulta não está recebendo os valores do formulário. Compartilhar este post Link para o post Compartilhar em outros sites
Danny89 0 Denunciar post Postado Julho 1, 2014 ali onde tem três --- você subsitituiu por s e x certo? Sim, ali é onde fica o atributo s e x o Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Schumacher 3 Denunciar post Postado Julho 1, 2014 ah mais uma coisa, parece que ele não está inserindo os valores das variáveis na consulta... tenta, só pra eliminar esta possibilidade o seguinte: if ($estado != 'TODOS') {$sql .= " AND estado = 'MG' ";} deixa só esta linha e roda o script... e tenta mais uma coisa: if ($estado != 'TODOS') { $sql .= " AND estado = '".$estado."' ";} aspas ' e depois " (vai que né...) obs: supondo que você tenha algum registro no banco de dados com MG né? obs2: o campo formação é de texto livre, quando você define que seja = ao que está no banco de dados fica complicado o usuário acertar exatamente... minha sugestão é você criar mais tabelas: estados, formação e ---o. Aí no html você faz um while e lista as opções de formação, ---o e estado. Assim se futuramente você quiser adicionar mais estados ou formações, não precisa editar o arquivo html, só o banco de dados... tipo assim: <select> <option value='0' selected='selected'>Todos</option> <?php //obs: lá no código se for 0 nem vai entrar no if então vai mostrar tudo $sql = "SELECT * FROM estados ORDER BY estado ASC"; $query = mysql_query($sql); while ($dado = mysql_fetch_array($sql){ echo "<option name="estado" value='".$dado['id']."'>".$dado['estado']."</option>" } ?> </select> obs3: mas caso você usar como texto aberto mesmo, faz assim: http://blog.thiagobelem.net/busca-no-mysql-usando-palavra-chave/ abraço Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Schumacher 3 Denunciar post Postado Julho 1, 2014 edit: postei duas vezes sem querer :D Compartilhar este post Link para o post Compartilhar em outros sites
Danny89 0 Denunciar post Postado Julho 1, 2014 ah mais uma coisa, parece que ele não está inserindo os valores das variáveis na consulta... tenta, só pra eliminar esta possibilidade o seguinte: if ($estado != 'TODOS') { $sql .= " AND estado = 'MG' "; } deixa só esta linha e roda o script... e tenta mais uma coisa: if ($estado != 'TODOS') { $sql .= " AND estado = '".$estado."' "; } aspas ' e depois " (vai que né...) obs: supondo que você tenha algum registro no banco de dados com MG né? obs2: o campo formação é de texto livre, quando você define que seja = ao que está no banco de dados fica complicado o usuário acertar exatamente... minha sugestão é você criar mais tabelas: estados, formação e ---o, no html você faz um while e lista as opções de formação, ---o e estado. Assim se futuramente você quiser adicionar mais estados ou formações, não precisa editar o arquivo html, só o php... obs3: mas caso você usar como texto aberto mesmo, faz assim: http://blog.thiagobelem.net/busca-no-mysql-usando-palavra-chave/ abraço Sei que é difícil o sistema retornar valores de texto livre, mas na minha busca estou selecionando somente estado e sexo, campos que tenho certeza que existem usuarios com essas caracteristicas no banco, deixando o o campo formação em branco (a ideia é poder selecionar quantos campos quiser para efetuar a busca, com no mínimo 1) E mesmo que se eu tivesse selecionado o campo formação, a ideia era que se um dos campos selecionados fosse inexistente no banco de dados, a ideia era retornar zero (por exemplo, se existissem usuarios de estado RJ e sexo Masculino, mas não tivesse a formaçao selecionada retornaria que não existe usuario com essas caracteristicas exatas combinadas) Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Schumacher 3 Denunciar post Postado Julho 1, 2014 Certo, mas da maneira que você escreveu, se eu estou buscando por "superior" e no banco de dados estiver "Superior" não vai retornar... (por causa do = ) E formação tem registros finitos... primeiro segundo superior completo incompleto etc... você pode prever isso e colocar uma caixa de seleção... Compartilhar este post Link para o post Compartilhar em outros sites
Danny89 0 Denunciar post Postado Julho 1, 2014 Certo, mas da maneira que você escreveu, se eu estou buscando por "superior" e no banco de dados estiver "Superior" não vai retornar... (por causa do = ) E formação tem registros finitos... primeiro segundo superior completo incompleto etc... você pode prever isso e colocar uma caixa de seleção... Como eu deveria fazer então? Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Schumacher 3 Denunciar post Postado Julho 1, 2014 você usa o conceito de chave estrangeira uma formação pode ser de vários usuários certo? então não tem porque você escrever "Superior Completo" toda vez que você cadastrar um novo usuário você vai criar uma tabela "Formação" nesta tabela você terá, (simplificando) por exemplo: id (toda tabela deve ter um id, um identificador único daquele registro, esta é a chave primária) formação (aqui você vai inserir, superior completo, incompleto, etc) depois na tabela usuários você coloca algo do tipo: id id_formacao (aqui vai o id da tabela formação, esta é a chave que vem da outra tabela) Compartilhar este post Link para o post Compartilhar em outros sites
Danny89 0 Denunciar post Postado Julho 1, 2014 você usa o conceito de chave estrangeira uma formação pode ser de vários usuários certo? então não tem porque você escrever "Superior Completo" toda vez que você cadastrar um novo usuário você vai criar uma tabela "Formação" nesta tabela você terá, (simplificando) por exemplo: id (toda tabela deve ter um id, um identificador único daquele registro, esta é a chave primária) formação (aqui você vai inserir, superior completo, incompleto, etc) depois na tabela usuários você coloca algo do tipo: id id_formacao (aqui vai o id da tabela formação, esta é a chave que vem da outra tabela) Então não é possível manter todos os dados de formação na tabela usuários, sem precisar criar mais uma? E o usuário que tiver mais de um idioma, por exemplo, será necessário criar uma tabela só pra idioma para poder receber mais de um dado? Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Schumacher 3 Denunciar post Postado Julho 1, 2014 Você vai ter a tabela idiomas (ingles, portugues, espanhol, etc) voce vai ter uma tabela usuários e voce vai ter uma tabela usuario_idiomas por exemplo ali você vai associar o id do usuário com o id do idioma, assim um usuário pode ter quantos idiomas você quiser estuda sobre planejamento de banco de dados, a lógica mesmo sabe, porque as bases não são só para mysql, é qualquer banco de dados. Abraço Compartilhar este post Link para o post Compartilhar em outros sites
Danny89 0 Denunciar post Postado Julho 1, 2014 Eu poderia ter somente 2 campos na tabela Idioma? Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Schumacher 3 Denunciar post Postado Julho 1, 2014 é que, teoricamente, não precisa de mais de 2 né... id e idioma mas se fosse nível de escolaridade, por exemplo voce podia ter 3 id (sequencial e único) nível (superior completo, incompleto, etc) descrição (por exemplo: Usuário que completou a Graduação) Compartilhar este post Link para o post Compartilhar em outros sites
Danny89 0 Denunciar post Postado Julho 1, 2014 Mas se no meu formulario de cadastro o usuário puder escolher mais de uma opção no idioma, não precisaria de mais de 2 campos na tabela? E se for o caso do usuário ter um superior completo e outro em andamento? Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Schumacher 3 Denunciar post Postado Julho 1, 2014 quando um usuário puder ter várias formações, você faz igual em idiomas... outra tabela só para os relacionamentos. vou sair aqui... sugiro que você pesquise por projeto de banco de dados para entender bem como funciona. uma boa leitura também: http://www.blogdati.com.br/index.php/2010/03/normalizacao-em-banco-de-dados/ abraço Compartilhar este post Link para o post Compartilhar em outros sites