Ir para conteúdo
Fórum Script Brasil
  • 0

Conversão de valores para convesão de campo


Carlos Rocha

Pergunta

Conversão de valores para convesão de campo

Preciso criar uma função que pegue pesquize um campo(datadoc) varchar na tabela debitos que pegue o texto que la esta por registro e transforme todos de uma saó vez.

Tipo

a tabela é

debitos

os fields são(todos varchar menos o id):

id

nome

data

datadoc

tipo

valor

A função tera que ler todos os id's, lewr os datadoc's que3 esta registrado um a um e transformar tipo

20/12/1970 para 1970-12-20

A ideia é transformar todos do pardrão de data brasileiro para o padrão americano para depois alterar o tipo do campo de varchar para date.

Se não fizer isso antes, na hora que eu virar o campo datadoc para date, ai ele zera tudso e grava no banco em todos os registroa 0000-00-00 ai eu perco todos os registros né?

Bom tentei com o código abaixo mas ele só altera todos com a alteração do primeiro.

Outro problema desse código é que eu fiz um exemplo com 04 registros para testar e ele retornou 5 registros

<?
include("global/conexao.php");
$tab_debitos = mysql_query("select datadoc from debitos");
while(list($datadoc) = mysql_fetch_row($tab_debitos)) {
$datadoc2= explode("/",$datadoc);
$datadoconv = $datadoc2[2].'-'. $datadoc2[1].'-'. $datadoc2[0];
$sql = mysql_query("update debitos set datadoc='$datadoconv'");
//$sql = mysql_query("update debitos set datadoc='$datadoconv' where datadoc = $datadoc");
echo $datadoconv;
echo "<br>";
echo $datadoc;
echo "<br>";
}
?>

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Utilize o ID na cláusula WHERE...

<?
include("global/conexao.php");

$tab_debitos = mysql_query("select id,datadoc from debitos");

while($dados = mysql_fetch_assoc($tab_debitos)) {

$datadoc2= explode("/",$dados['datadoc']);

$datadoconv = $datadoc2[2].'-'. $datadoc2[1].'-'. $datadoc2[0];

mysql_query("update debitos set datadoc='$datadoconv' WHERE id = '".$dados['id']."'");

echo $dados['id'].' - '.$datadoconv.' - '.$datadoc.'<br>';
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, deu certo la no banco mas na hora de exibir na web mostrou assim:

1 - --0000-00-00 -

333 - 1970-12-20 -

334 - 1974-12-03 -

335 - 1973-05-20 -

336 - 1999-12-04 -

5 registros mas no banco são 4

Isso não é erro não?

Estou perguntando pois la no servidor, são mais de 300 registros.

Já pensou alterar um a um depois??

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...