Boca 0 Denunciar post Postado Agosto 11, 2004 Pessoal sou iniciante em PHP estou com um problema que ainda não sei resolver, gostaria de saber se alguém pode me ajudar. preciso fazer um select mas no meu banco de dados no campo data só que alguns registros por exemplo estão no formato (abr/04 e outros abr/2004), estou fazendo um select apartir de um formulário para o select abaixo formulario.php <form name="form1" method="post" action="select.php"> <select name="data" class="select"> <option>Selecione</option> <option value="jan/2004">jan/2004</option> <option value="fev/2004">fev/2004</option> <option value="mar/2004">mar/2004</option> <option value="abr/2004">abr/2004</option> <option value="mai/2004">mai/2004</option> <option value="jun/2004">jun/2004</option> <option value="jul/2004">jul/2004</option> <option value="ago/2004">ago/2004</option> <option value="set/2004">set/2004</option> <option value="out/2004">out/2004</option> <option value="nov/2004">nov/2004</option> <option value="dez/2004">dez/2004</option> </select> <input type="submit" name="Submit" value="VISUALIZAR"> </form> select.php PHP [/tr][tr]$data= $_POST['data']; $selecao = mysql_query("SELECT * FROM assinantes WHERE data LIKE '$data' ",$con);[/tr] Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Agosto 11, 2004 PHP [/tr][tr]$data= $_POST['mes']; $selecao = mysql_query("SELECT * FROM assinantes WHERE data = ' " . $data . " ' ",$con); [/tr] Compartilhar este post Link para o post Compartilhar em outros sites
Cerrito 0 Denunciar post Postado Agosto 11, 2004 Bom como eles estão em formatos você pode usar o like da seguinte forma..."SELECT FROM assinantes WHERE data LIKE '$data%'";fazendo isso você ira trazer todos os dados que começem com o valor que você está passando...como você tem as datas nesses dois formatos:abr/04 e outros abr/2004com certeza ele irá buscar qualquer uma...abraçosMarcio Compartilhar este post Link para o post Compartilhar em outros sites
Boca 0 Denunciar post Postado Agosto 11, 2004 Pessoal tentei das duas formas. PHP [/tr][tr]("SELECT * FROM assinantes WHERE data = ' " . $data . " ' ",$con);[/tr] Assim não traz nenhum resusltado PHP [/tr][tr]("SELECT FROM assinantes WHERE data LIKE '$data%'",$con);[/tr] e assim continua trazendo somente abr/2004 valeu mesmo por estar ajudando pessoal Compartilhar este post Link para o post Compartilhar em outros sites
Cerrito 0 Denunciar post Postado Agosto 11, 2004 estranho pelos valores que você falou que tem no banco daquela forma teria que funcionar...bom mas vamos a outra...SELECT * FROM assinantes WHERE data REGEXP '^$data';testa lá para a gente ver e qualquer coisa grita ai!!!abraçosMarcio Compartilhar este post Link para o post Compartilhar em outros sites
Boca 0 Denunciar post Postado Agosto 11, 2004 Amigo Cerrito continua retornandov somennte abr/2004.. Compartilhar este post Link para o post Compartilhar em outros sites
hudini 0 Denunciar post Postado Agosto 11, 2004 Experimenta novamente PHP [/tr][tr] ("SELECT FROM assinantes WHERE data LIKE <font color="red">'$data%'</font>",<font color="#1C8C00">$con</font>);[/tr] mas alterando o formulario.php para: <form name="form1" method="post" action="select.php"> <select name="data" class="select"> <option>Selecione</option> <option value="jan/04">jan/04</option> <option value="fev/04">fev/04</option> <option value="mar/04">mar/04</option> <option value="abr/04">abr/04</option> <option value="mai/04">mai/04</option> <option value="jun/04">jun/04</option> <option value="jul/04">jul/04</option> <option value="ago/04">ago/04</option> <option value="set/04">set/04</option> <option value="out/04">out/04</option> <option value="nov/04">nov/04</option> <option value="dez/04">dez/04</option> </select> <input type="submit" name="Submit" value="VISUALIZAR"> </form>pode ser que dê. Hasta luego. Compartilhar este post Link para o post Compartilhar em outros sites
Boca 0 Denunciar post Postado Agosto 11, 2004 Desta forma hundini retornou somente abr/04 Compartilhar este post Link para o post Compartilhar em outros sites
Cerrito 0 Denunciar post Postado Agosto 11, 2004 mysql> SELECT * FROM assinantes WHERE data REGEXP [$data]*;coloca assim mas com o modelo do rudini...acredito que funcione...mas tem que ser com o modelo que ele lhe postou, não com o seu!!!abraçosMarciose funcionar avise!!!rs.... Compartilhar este post Link para o post Compartilhar em outros sites
Boca 0 Denunciar post Postado Agosto 11, 2004 Já estou enchendo..... Coloquei desta forma PHP [/tr][tr]$selecao = mysql_query("SELECT FROM assinantes WHERE data REGEXP [$data]*",$con); $linhas = mysql_num_rows($selecao);[/tr] mudei tb com solicitado <form name="form1" method="post" action="select.php"> <select name="data" class="select"> <option>Selecione</option> <option value="jan/04">jan/04</option> <option value="fev/04">fev/04</option> <option value="mar/04">mar/04</option> <option value="abr/04">abr/04</option> <option value="mai/04">mai/04</option> <option value="jun/04">jun/04</option> <option value="jul/04">jul/04</option> <option value="ago/04">ago/04</option> <option value="set/04">set/04</option> <option value="out/04">out/04</option> <option value="nov/04">nov/04</option> <option value="dez/04">dez/04</option></select><input type="submit" name="Submit" value="VISUALIZAR"> </form>deu o seguinte erro. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource Compartilhar este post Link para o post Compartilhar em outros sites
Cerrito 0 Denunciar post Postado Agosto 11, 2004 SELECT * FROM assinantes WHERE data REGEXP '[$data]*';faltou as aspas!!!rs...a gente chega lá... Compartilhar este post Link para o post Compartilhar em outros sites
Boca 0 Denunciar post Postado Agosto 11, 2004 deu o mesmo erro PHP [/tr][tr]$selecao = mysql_query("SELECT FROM assinantes WHERE data REGEXP '[$data]*'",$con); $linhas = mysql_num_rows($selecao);[/tr] Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource Compartilhar este post Link para o post Compartilhar em outros sites
Cerrito 0 Denunciar post Postado Agosto 11, 2004 ai meu deus!!! rs..tira o asterisco...$selecao = mysql_query("SELECT FROM assinantes WHERE data REGEXP [$data]",$con); tá mas continua como antes com o form do rudini...acho que agora vai...ou não...Marcio Compartilhar este post Link para o post Compartilhar em outros sites
Boca 0 Denunciar post Postado Agosto 11, 2004 Coloquei assim PHP [/tr][tr]$selecao = mysql_query("SELECT FROM assinantes WHERE data REGEXP [$data]",$con); [/tr] tentei tb com aspas PHP [/tr][tr]$selecao = mysql_query("SELECT FROM assinantes WHERE data REGEXP '[$data]'",$con); [/tr] e deu o memso erro, que se refere a linha PHP [/tr][tr]$linhas = mysql_num_rows($selecao);[/tr] Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Agosto 11, 2004 deve ter alguma coisa estranha aí no seu banco, quel o tipo do campo, STRING, INT, VARCHAR... da mais detalhes... você usa win ou linux, se for win pega o mysql-front, faz um select dos dados no editor SQL e poe estes comandos SQL daqui dos posts e ve o que retorna... Compartilhar este post Link para o post Compartilhar em outros sites
Boca 0 Denunciar post Postado Agosto 11, 2004 Obrigado Rockbilly, meu servidor esta em Linux o tipo do campo é varchar(15) Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Agosto 11, 2004 Obrigado Rockbilly, meu servidor esta em Linux o tipo do campo é varchar(15) Boca, tenta fazer o seguinte, entre no diretorio bin das pasta de instalação do mysql e digite: PHP [/tr][tr]mysql -u root -p[/tr]deve aparecer a senha, dai você poe a senha do adm do banco se tivervocê deve cair numa tela assim: PHP [/tr][tr]mysql>[/tr]escolha o banco com o comando: PHP [/tr][tr]mysql>use banco;[/tr]mysql>show tables;entre com a consulta SQL: PHP [/tr][tr]mysql>SELECT data FROM tabela;[/tr]ve o que aparece, aparece todos com o mesmo valor ou diferente? Compartilhar este post Link para o post Compartilhar em outros sites
Boca 0 Denunciar post Postado Agosto 11, 2004 Rockbilly, não tenho acesso ao servidor pois o mesmo se encontra externo Compartilhar este post Link para o post Compartilhar em outros sites
Boca 0 Denunciar post Postado Agosto 11, 2004 Consegui fazer uma consulta atraves de meu phpMyAdmin e informa, Exemplo:ago/00 ago/2000 jan/02 mar/2002 jul/2003 abr/04 abr2004 Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Agosto 11, 2004 Rockbilly, não tenho acesso ao servidor pois o mesmo se encontra externo mas la no servidor não tem o PHPMYADMIN, programa em q você usa para modificar informações do seu banco? é semelhante ao mysql-front, so q para UNIX! tente checkar com o pessoal... Compartilhar este post Link para o post Compartilhar em outros sites