Jump to content


Photo

Niver Em Php


  • Faça o login para participar
10 replies to this topic

#1 raf_potter

raf_potter

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado
  • Localidade:Itatiba-SP
  • Interesses:Harry Potter, desenvolvimento de sistemas em php, eventos diversificados, literatura, música, cinema, diversão e principalmente: chocolate!

Posted 28/02/2006, 19:13

Tenho num banco de dados(mysql) uma tabela com mais de 1000perfis de usuários, todos com $nome, $nick, $sexo, $cidade, $uf..e inclusive data de nascimento($niver) em formato dd/mm/aaaa ((28/02/2005)) e tava querendo montar uma página em .php que buscasse de acordo com o dia e mês que a página está sendo visitada (dd/mm) uma lista de resultado de uma pesquisa feita dentro desta tabela de perfis com aí os respectivas informações do registro:
O nome($nome) - cidade($cidade)/Estado($uf) - data de nascimento($niver)
dos respectivos aniversáriantes do dia...

Exemplo prático:

"Hoje dia 28 de Fevereiro,
Parabéns para:
(Resultado da pesquina do mysql)
João A - São Paulo/SP - 28/02/1988
Maria B. - Rio de Janeiro/RJ - 28/02/1980
Leandro C. - Belo Horizonte/MG - 28/02/1995

Alguém tem alguma idéia de como deveria ser feita está página .php?

Abraçaum a todos! :)

RaFaEL

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 28/02/2006, 19:26

Use uma query assim:
SELECT * FROM tabela WHERE LEFT(campo_data, 5) = DATE_FORMAT(CURDATE(), '%d/%m')

Obs.: Aonde está escrito campo_data coloque o nome do campo aonde as datas ficam.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 raf_potter

raf_potter

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado
  • Localidade:Itatiba-SP
  • Interesses:Harry Potter, desenvolvimento de sistemas em php, eventos diversificados, literatura, música, cinema, diversão e principalmente: chocolate!

Posted 28/02/2006, 20:09

Tentei usar assim:

<?
$db = mysql_connect("localhost", "usuario", "senha") or die("Conexão falhou.");
if(!$db)
	die("no db");
if(!mysql_select_db("rafael_principal",$db))
  die("No database selected.");

SELECT * FROM auth_usuarios WHERE LEFT(niver, 5) = DATE_FORMAT(CURDATE(), '%d/%m')
?>

e Não funcionou apareceu: "Parse error: parse error, unexpected T_STRING in /home/rafael/public_html/niver.php on line 7"

:unsure: Alguma idéia ou solução, agora? :unsure:


BRIGADAUMMM JÁ: Eclesiastes PELA A PRIMEIRA AJUDA @___@ !OBRIGADO MESMO! (y)

RafAeL

Edição feita por: raf_potter, 28/02/2006, 20:12.


#4 Fábio Luciano

Fábio Luciano

    Ativo

  • Usuários
  • 309 posts
  • Sexo:Masculino
  • Localidade:Santa Maria / DF
  • Interesses:Ah eu gosto de tudo :D

Posted 28/02/2006, 20:12

MAs me diga o que diabos você fez ai?
Este código deveria ficar dentro de um mysql_query(), cade ela?

Edição feita por: OmegamoN, 28/02/2006, 20:13.


#5 raf_potter

raf_potter

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado
  • Localidade:Itatiba-SP
  • Interesses:Harry Potter, desenvolvimento de sistemas em php, eventos diversificados, literatura, música, cinema, diversão e principalmente: chocolate!

Posted 28/02/2006, 20:14

Oras tentei fazer uma conexão com o banco de dados nas primeiras linhas e coloquei a QUERY QUE O: Eclesiastes sugeriu. o__õ'

E MESMO COLANDO A QUERY

<?
$db = mysql_connect("localhost", "usuario", "senha") or die("Conexão falhou.");
if(!$db)
	die("BD não encontradono db");
if(!mysql_select_db("rafael_principal",$db))
  die("No database selected.");
mysql_query(SELECT * FROM auth_usuarios WHERE LEFT(niver, 5) = DATE_FORMAT(CURDATE(), '%d/%m')),
?>

NÃO DEU CERTO
Abraços - RaFAEL

Edição feita por: raf_potter, 28/02/2006, 20:20.


#6 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 28/02/2006, 20:19

Assim que deve fazer:

<?php

    $db = mysql_connect("localhost", "usuario", "senha") or die("Conexão falhou.");
    mysql_select_db("rafael_principal", $db) or die(mysql_error());

    $Consulta = mysql_query("
        SELECT * FROM auth_usuarios
        WHERE LEFT(niver, 5) = DATE_FORMAT(CURDATE(), '%d/%m')
    ") or die(mysql_error());
    
    while ($c = mysql_fetch_assoc($Consulta)) {
    
        print $c['nome'] . ' - ' . $c['niver'] . '<br />';
        
    }
    
?>

Leitura:
http://www.php.net/mysql-query
http://www.php.net/mysql-fetch-assoc
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#7 raf_potter

raf_potter

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado
  • Localidade:Itatiba-SP
  • Interesses:Harry Potter, desenvolvimento de sistemas em php, eventos diversificados, literatura, música, cinema, diversão e principalmente: chocolate!

Posted 28/02/2006, 20:26

MUITOOOOOOOOOOOOOO :D :lol: OBRIGADOOOO Eclesiastes!!!!

FUNCIONOUUUU OBRIGADO MESMOOOOOOO... ESTOU MUITISSIMO AGRADECIDOOOOO!!!! (y)

UAUUU.... MUITO OBRIGADOOOOO @____@' DEU CERTOO! :lol:

TKS!!

(alguma sugestão de tag para que eu possa restringir um número de resultados por página? assim já está MUITO BOM, MTO OBRIGADO MESMO.. é que pode haver dias que surgirão muitos aniversáriantes e como o layout não tem todo o espaço disponível gostaria de restringir por exemplo 5 resultados por página e depois aparecer >> próxima página >>; se souberem ou puderem me ajudar neste detalhe também ficaria mais grato ainda, entretanto afirmo é DETALHE só para ficar mais que ultra perfeito! porquê já está funcionando magnificamente! BRIGADAUMM MESMOOO!!! :lol: )

#8 Fábio Luciano

Fábio Luciano

    Ativo

  • Usuários
  • 309 posts
  • Sexo:Masculino
  • Localidade:Santa Maria / DF
  • Interesses:Ah eu gosto de tudo :D

Posted 28/02/2006, 20:30

<?php

  $db = mysql_connect("localhost", "usuario", "senha") or die("Conexão falhou.");
  mysql_select_db("rafael_principal", $db) or die(mysql_error());

  $Consulta = mysql_query("
      SELECT * FROM auth_usuarios
      WHERE LEFT(niver, 5) = DATE_FORMAT(CURDATE(), '%d/%m') LIMIT 20
  ") or die(mysql_error());
 
  while ($c = mysql_fetch_assoc($Consulta)) {
 
      print $c['nome'] . ' - ' . $c['niver'] . '<br />';
     
  }
 
?>



LIMIT 20 - Número de registros que vão aparecer.

Edição feita por: OmegamoN, 28/02/2006, 20:31.


#9 wesley_top

wesley_top

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado
  • Localidade:Cuiabá

Posted 22/02/2007, 17:42

nao entendi essa parte
WHERE LEFT(niver, 5) =...

pq tem esse numero 5?

desculpa minha ignorancia....só pra saber!
"...quem diz que homem não chora,
ta bom, falou ou vai pra grupo irmão ai
JESUS CHOROU!"

-- Racionais --

#10 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 22/02/2007, 17:50

nao entendi essa parte
WHERE LEFT(niver, 5) =...

pq tem esse numero 5?

desculpa minha ignorancia....só pra saber!

Para pegar os primeiros 5 caracteres da data presente no campo niver. Isto é, se o valor de um registro for 28/02/2005, ele só pegará 28/02. ;)

[]’s :DAté mais

#11 rodrigo dudigo

rodrigo dudigo

    Turista

  • Usuários
  • 50 posts
  • Sexo:Masculino
  • Localidade:São Leopoldo - RS

Posted 04/10/2007, 02:59

e como eu faço para ordenar a lista de resultados pelos 5 primeiros caracteres do aniversario?

tentei assim e nao funfou...


$Consulta = mysql_query("
	  SELECT * FROM tabela
	  ORDER BY nascimento WHERE LEFT(nascimento, 5) = DATE_FORMAT(CURDATE(), '%d/%m')") 
or die(mysql_error());

alguem tem uma dica?

Edição feita por: rodrigo dudigo, 04/10/2007, 02:59.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq