+2

Funções úteis no MySql

criado por Celso Endo em 22/10/2003 1:40pm
Função DATE_FORMAT()

Como o próprio nome diz essa função irá formatar a data de um campo na tabela.

Exemplo: Temos novamente o campo ultimo_dl do tipo DATE. O campo do tipo DATE tem o formato AAAA-MM-DD que é o formato americano. Mas se a gente precisar mostrar a data no formato brasileiro (DD/MM/YYYY) o que fazemos?

Tradicionalmente iríamos selecionas os dados tabela e fazer um loop para ir formatando cada data para o formato brasileiro. Isso pode ser um pouco cansativo, quando a solução pode ser essa:

<?php
mysql_connect("localhost","phpbrasil","phpbrasil");
mysql_select_db("phpbrasil");
$query = ("select nome, tamanho, DATE_FORMAT(ultimo_dl, '%d/%m/%Y') from phpbrasil");
mysql_query($query);
while ($consulta = mysql_fetch_array($query)) {
    echo "Nome: ".$consulta['nome']."<br>";
    echo "Tamanho: ".$consulta['tamanho']."<br>";
    echo "Data: ". $consulta[2]."<p>";
}
?>

Simples e rápido não? Novamente usamos mysql_fetch_array() mas na hora de chamar o resultado de uma função temos que chamar pelo índice dela na array. Isso vale pra qualquer função utilizada do MySql.

Os parâmetros para se formatar uma data são muitos. Esse é apenas um exemplo básico. Para mais informações: http://www.mysql.com/doc/en/Date_and_time_functions.html

Comentários:

Mostrando 1 - 6 de 6 comentários
Diogo Gomes disse:
Recentemente foi discutido esse assunto na lista PHP-PT em http://br.groups.yahoo.com/group/php-pt, pesquise por combobox dinamico, ou algo parecido...
25/10/2003 3:43pm (~21 anos atrás)

Tenho uma consulta ao bd MySQL assim: ...<?php
$link = mysql_connect("localhost", "finetcom_fiu", "fi596522")
or die("Não foi possível conectar");

mysql_select_db("finetcom_cadil")
or die("Não foi possível selecionar o banco de dados");

$consulta = "SELECT * FROM cadil";
$resultado = mysql_query($consulta)
or die("Falha na execução da consulta 1");


$consulta = "SELECT cod, nome, endereco, cep, cidade FROM cadil
WHERE cidade = 'londrina' OR cidade = 'Belo Horizonte'";

$resultado = mysql_query($consulta)
or die("Falha na execução da consulta 2");

while ($linha = mysql_fetch_array($resultado))
{

$Nome = $linha["nome"];
$Endereco = $linha["endereco"];
$Cep = $linha["cep"];
$Cidade = $linha["cidade"];

echo "Nome: $Nome<br>";
echo "Endereco: $Endereco<br>";
echo "Cep: $Cep<br>";
echo "Cidade: $Cidade<p>";
}

?>
Preciso de um script em que, quando eu digito no campo " cidade " , o comando vai buscar na tabela o nome da cidade .
25/10/2003 8:45am (~21 anos atrás)

Diogo Gomes disse:
Através de uma função eu desconheço que tenha forma de ordenar números dessa forma em varchar. Usa int.
24/10/2003 5:04pm (~21 anos atrás)

Boas dicas... gostei do fetch_row nas buscas de 1 resultado...


mas ainda tem 2 que estou procurando solução... ordem em campos varchar com números (200 vem antes de 3) e o LIKE não está sensitivo ('A' é != 'a', 'u' é != 'ú')
24/10/2003 2:30pm (~21 anos atrás)

Legal esse artigo, tinha o costume de dar um explode na data, andei um tempo atras procurando como trazer a data formatada do bd e não encontrei, é uma coisa bem simples mas que ajudam muito...

Valeu
23/10/2003 5:56am (~21 anos atrás)

Luiz Oliveira disse:
Olá,

Você pode dar nome ao campo também, como por exemplo: DATE_FORMAT(ultimo_dl, '%d/%m/%Y') AS data

e na hora de pegar o dado: $consulta['data']

Abraços.
22/10/2003 9:14pm (~21 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)