Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcosfj1

[Resolvido] Atualiza o coluna do banco automaticamente com o codi

Recommended Posts

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

use um CONCAT() do MySQL, assim você resolve numa única query.

 

pesquise, estude!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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
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

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

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

É 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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.