marcosfj1 0 Denunciar post Postado Fevereiro 21, 2011 Seguinte galera os produtos da marca 15 tem que receber na descricao da palavra_chave o texto 'TESTE'....mas sem apagar aquilo que já existe no campo....Entao se tiver la: TELEVISAO COMPUTADOR Tem que ficar TELEVISAO TESTE COMPUTADOR TESTE Tentei fazer pelo codigo mas nao esta dando certo alguem sabe me ajudar: $sql = "SELECT id_produto_marca, palavra_chave FROM produto WHERE id_produto_marca = 15"; $req = mysql_query($sql); // while ($cp = mysql_fetch_array($req)) { // $palavra_chave = $cp['palavra_chave']; $palavra_chave .= ' TESTE'; // $sql = "UPDATE produto SET palavra_chave = '$palavra_chave' WHERE id_produto_marca = 15 "; mysql_query($sql); echo $palavra_chave.'<br>'; } Valeu Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 21, 2011 use um CONCAT() do MySQL, assim você resolve numa única query. pesquise, estude! Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Fevereiro 21, 2011 use um CONCAT() do MySQL, assim você resolve numa única query. pesquise, estude! Hum nao conhecia esta função do MySQL....por isso tentei fazer em PHP você nao sabe me passar como fazer por PHP, pq precisava fazer isso dar certo logo, e acho q levaria um tempo pra enteder sobre esta funcao do MySQL, pois nunca mexi com ela Valeu Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 21, 2011 mas nao esta dando certo pq 'não deu certo'? deu erro? qual? atualiza para outro valor ? qual ? habilite as mensagens de erro, e coloque o mysql_error(); http://forum.imasters.com.br/topic/375800-orientacoes-para-uma-boa-participacao/ no caso, pelo que pensei aqui, você precisa rodar linha por linha, e verificar oque tava lá, usando mais uma cláusula no WHERE, pois da forma que está, se esse WHERE atingir várias linhas, o valor de todas elas será o da última. o WHERE ficaria assim: WHERE id_produto_marca = 15 AND palavra_chave = '{$cp['palavra_chave'}'"; algo do tipo.. para que cada UPDATE rode apenas para uma unica linha. Ainda assim cara, estuda.. em menos de 5 minutos você entenderia, fora o baita ganho de performance que você vai ter. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Fevereiro 21, 2011 Entao o erro que tava dando era que substitui tudo sabe, ai perdia meu campo e apenas inseria a palavra Mas nossa realmente esta funcao é tranquila de tudo.....nao conhecia ela mesmo sempre sofri pra fazer em PHP.....ai agora q me passou ela fiz assim $sql = "UPDATE produto SET palavra_chave = concat(palavra_chave, ' ','TESTEEE' ) WHERE id_produto_marca = 15 "; mysql_query($sql); Deu certo inseriu no banco sem alterar....a unica coisa ruim é que na coluna palavra_chave onde é NULL nao insere....tem alguma maneira de inserir tbm la? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 21, 2011 Entao o erro que tava dando era que substitui tudo sabe adivinhei :P Hum... ai tem o IF e o IFNULL do MySQL que você pode usar.. acho que não funciona o CONCAT, pq ele não concatena 'o nulo'. mas com IFNULL você dá uma volta nisso. pois é cara.. SQL é bastante util... pensa.. se esse teu WHERE = 15 atingir umas 200 linhas.. você vai estar rodando 200 UPDATEs!! olha que absurdo. E com o CONCAT, você roda uma unica query só =) Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Fevereiro 21, 2011 É MySQL dá pra fazer mto coisa viu....eu tenho melhorado no PHP mas to deixando meio de lado o MySQL preciso arrumar umas apostilas e tempo hehe pra dar um estudada Bom, pelo menos aqui que eu queria mesmo fazer deu certo....os produtos que estao NULL na loja nao estao disponiveis para compra....entao pelo menos para aquilo q era urgente eu consegui....agora é estudar como mudar estes NULL Valeu a ajuda Abraço Compartilhar este post Link para o post Compartilhar em outros sites