segunda-feira, 31 de dezembro de 2012
Retirar valores duplicados em linha de um campo do MySql com Php
Imagine que você tenha um campo no seu banco de dados com o nome Cor.
Esse campo possui várias cores, porém algumas estão duplicadas.
Exemplo: Branco, Preto, Azul, Azul, Amarelo, Preto, branco.
Se você não deseja essa duplicação, veja como deve proceder.
Primeiramente lembrando que o PHP é case-sensitive, ou seja, Branco e branco são diferentes. Então devemos atualizar esse campo usando a função do MySql UPPER, para deixá-los em maiúsculo e ficarem iguais. Update 'Tabela_Cor' set cor= UPPER(cor). Agora sim vamos ao procedimento.
<?php require_once('../../Connections/conn_cor_c.php');//Conexão com o BD
mysql_select_db($database_conn_cor_c, $conn_cor_c);
$query_cor = "SELECT id, color FROM project_1 where color<>'' ";//Seleciona a tabela que tem o campo cor
$cor = mysql_query($query_cor, $conn_cor_c) or die(mysql_error());
$row_cor = mysql_fetch_array($cor);
do {
$id=$row_cor['id'];
$prt1=explode(',',$row_cor['color']);// Essa função desmembra a string em um array
$res=array_unique($prt1);// Essa função Remove valores duplicados desse array
$res_final=implode(',',$res);//Essa função transforma o array sem valores duplicados em string novamente
$sql_update = "Update project_1 set color='$res_final' where id ='$id'";// Essa instrução atualiza o campo color no BD sem os valores duplicados
$exe_update = mysql_query($sql_update, $conn_cor_c) or die (mysql_error());
/*echo "<pre>";
print_r($res_final);
echo "</pre>";*/
} while ($row_cor = mysql_fetch_array($cor));
mysql_free_result($cor);
?>
É isso aí, e adeus duplicados !!!
Postado por
Mauro Cury
às
12/31/2012 10:36:00 AM
Enviar por e-mail
Postar no blog!
Compartilhar no X
Compartilhar no Facebook
Compartilhar com o Pinterest
Marcadores:
ARRAY UNIQUE
,
EM LINHA
,
Mauro Cury
,
mysql
,
php
,
UPDATE
,
VALORES DUPLICADOS
Assinar:
Postar comentários
(
Atom
)
Nenhum comentário :
Postar um comentário
Pergunte, inquira, descubra...