Unisov 0 Denunciar post Postado Agosto 22, 2009 ola, sera q é possivel usar variaveis para defenir os campos a serem atualizados? tipo assim? sql= mysql_query("UPDATE tabela SET '$god'='$games_god'+1,'$god_won'='$won_god'+$won WHERE id = 1"); dessa forma q tentei nao funciona... se isso é possivel, d que forma seria feito? Compartilhar este post Link para o post Compartilhar em outros sites
Eliseu M. 2 Denunciar post Postado Agosto 22, 2009 Olha, eu acho que não deve haver necessidade de colocar variáveis nas rows da tabela, olhe um exemplo mudado: $sql= mysql_query("UPDATE tabela SET nome='$games_god'+1, idade='$won_god'+$won WHERE id=1"); Agora acho que funciona =D Té mais! Compartilhar este post Link para o post Compartilhar em outros sites
Unisov 0 Denunciar post Postado Agosto 22, 2009 ola Eliseu M. o problema é q estou criando uma pagina q vai precisar atualizar varios campos diferentes da tabela... eu pretendo definir qual o campo a ser atualizado dando a definiçao da variavel no link. por isso estou tentando dessa forma Compartilhar este post Link para o post Compartilhar em outros sites
DCD 1 Denunciar post Postado Agosto 22, 2009 Olá Unisov O problema parece-me que está na variável sql, está faltando o "$". Testei com $campo="seu_campo_a_actualizar"; $seu_campo_a_actualizar='5'; $sql = mysql_query("UPDATE tabela SET $campo = '$seu_campo_a_actualizar'+1 WHERE id = '1'"); e funciona perfeitamente. Ou seja, o campo "seu_campo_a_actualizar" da tabela recebe o valor 6. No entanto a solução mais usual para fazer o que pretendes parece-me que será um pouco diferente. Normalmente primeiro faz-se uma leitura do registo que pretendes na tabela e com isso iniciar as variáveis de trabalho no script depois alterar apenas os valores dos campos que seja necessário alterar e por fim fazer o upgrade de todos os campos do registo na tabela. Isto não quer dizer que a tua forma de trabalho esteja errada, só te recomendo que vejas as potencialidades da sintaxe '$$campo' ("variável variável" em que além do valor da variável também o nome da variável é desconhecido) que me parece te pode ser útil; eu necessitei de usar para um fim bem mais complexo e poupou-me muitas dores de cabeça ao criar um gerenciador de banco dse dados tipo phpmyadmin uma vez que quando actualizava o resisto no banco de dados até o número de campos a actualizar no registo me era desconhecido. Compartilhar este post Link para o post Compartilhar em outros sites
Unisov 0 Denunciar post Postado Agosto 23, 2009 obrigado DCD. o problema era realmente esse detalhe do '$'. agora esta funcionando perfeitamente. estive vendo sobre sua sugestao e certamente seria mais viavel, mas ainda nao consigo implementar um codigo dessa forma. entao terei que continuar com essa forma que estou usando. mas de qualquer forma, agradeço. Compartilhar este post Link para o post Compartilhar em outros sites