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

segunda-feira, 10 de dezembro de 2012

Programa de Compras e Cotações Online

Teste Gratuíto - Experimente Agora !!!
1.     Descrição Geral - www.transsender.com.br

2.     Instruções Passo a Passo.
2.1            Clientes.
2.2            Fornecedores.

3.     Termo de Adesão (Funciona como um pré-pago, não havendo portanto contrato, a desistência se presume pela falta do pagamento da licença mensal - Forma de pagamento - Depósito bancário.).

Descrição Geral – O Transsender é um programa gerenciador de compras e cotação e funciona online através de uma conexão ativa à internet.
         O objetivo do programa é otimizar os processos que envolvem as compras, reduzindo tempo, mão de obra, custos com telefonia, materiais de escritório, combustível, etc, além de ser muito seguro porque não trabalha com nenhuma informação sigilosa do cliente.
         O sistema foi desenvolvido em duas plataformas; A Cliente e a Fornecedor.
         A plataforma cliente, é acessada através de login e senha de acesso, onde o cliente tem acesso a sua base de dados, que pode ser, sua própria base ou concedida pela TS. Após o login de acesso o cliente pode usar todos  os recursos disponíveis no sistema como, formar cotação, fechar cotação, autorizar fornecedores a participar da cotação, emitir pedidos, salvar arquivos, imprimir página de pedidos, acompanhar em tempo real o andamento da cotação, incluir novos produtos, editar produtos e etc.
         A plataforma fornecedor também é acessada através de login de acesso e senha, dos fornecedores que foram previamente cadastrados no sistema e que confirmaram seu cadastro clicando no link de ativação anti-fraude, garantindo o ingresso de fornecedores idôneos no sistema. Os recursos disponíveis para os fornecedores são: Solicitação de permissão para clientes, envio de preços e ofertas para clientes que autorizarem seu ingresso em suas cotações.
         A dinâmica do programa é simples e objetiva; o cliente solicita o preço aos fornecedores e o Transsender retorna o menor preço do produto entre os fornecedores, ou permite que o cliente escolha o preço e o fornecedor deseja comprar.

Manual de Instruções

         Clientes
         A partir do momento em que o cliente concorda com o Termo de Adesão, é criada uma conta de acesso com um nome de usuário e uma senha provisória para acesso ao sistema.
         O endereço do site é www.transsender.com.br e o cliente fará o login de acesso no campo destinado “Login Cliente ” na parte superior esquerda da página, digitando seu nome de usuário e sua senha. Feita a validação do login o cliente é direcionado para o seu “Painel de Controle”, onde se encontram todos os links responsáveis pelo gerenciamento da cotação. A saber; Apagar Cotação -> Ao clicar sobre esse link é apagada completamente a cotação anterior, permitindo assim que se forme uma nova cotação.
Editar Senha-> Este link permite ao cliente trocar sua senha provisória e alterá-la sempre que julgar necessário.
Fechar Cotação-> O link Fechar cotação é o modo automático de fechamento da cotação cujo critério é o de menor preço. Ao clicar neste link  os produtos são enfileirados em ordem alfabética com o menor preço cotado e informando seu respectivo fornecedor, além de um campo para colocar a quantidade que o cliente deseja comprar do produto existem também outros parâmetros que ajudam na tomada de decisão na hora da compra como; UC ->Ultimo custo do produto; Coef->Avalia em porcentagem quanto o produto está acima ou abaixo do último custo (aqui além da porcentagem positiva ou negativa a cor da porcentagem pode estar azul ou vermelha indicando visualmente), e também informações de estoque e estoque mínimo caso haja controle. Caso o preço do produto vencedor esteja errado ou não seja interessante comprá-lo, o cliente pode escolher o segundo preço ou terceiro preço, sucessivamente, bastando marcar qual de qual fornecedor deseja comprar.

Comprar Ofertas-> Este link permite que se compre os produtos em ofertas que foram sugeridos pelos fornecedores e que não entraram na cotação. Lembrando que UV é Unidade de Venda ou seja, a quantidade mínima comercializável pelo fornecedor.

Formar Cotação-> Este link é o responsável pela montagem de uma nova cotação. Ao clicar neste link aparece uma mensagem de alerta que diz “Aviso ! para formar nova cotação você deverá apagar a cotação anterior”, caso não haja interesse em apagar a cotação anterior clique em ok, e todos os produtos escolhidos serão anexados aos escolhidos da cotação anterior. Após a decisão de apagar ou não a cotação anterior o cliente pode escolher os produtos que deseja para sua cotação, bastando digitar o nome do produto ou parte do nome do produto, a qual o sistema fará uma busca ao banco de dados, retonando os produtos relacionados com o critério escolhido.
         Os produtos retornados possuem um código(cod) pelo qual podem ser editados, simplesmente clicando sobre ele, e uma caixa de controle para marcar ou desmarcar o produto que se está escolhendo para a cotação. Ao final da página após marcar os produtos que deseja, o cliente clica no botão “Inserir”, no qual insere os produtos escolhidos e retorna  para a página de pesquisa, de modo a continuar a escolha dos produtos que desja cotar. Após definir todos os produtos que farão parte da sua cotação o cliente deve definir os parâmetros de “Início” e “Término” da cotação clicando no link “Inicio e Término” e informando nos campos o inicio, término horários e observações, e por fim clicar no botão finalizar, estando a partir deste momento a cotação liberada para os fornecedores colocarem seus preços.
        
Incluir Produtos-> Novos produtos que não estão incluidos na base de dados do cliente podem ser acrescentados bastando clicar no botão “Incluir”. *Obs* ->UC = Último Custo e CAC = Custo Atual Cotado(caso saiba).

Painel de Controle-> Retorna ao Painel de Controle com todos os links disponíveis.

Página Inicial-> Retorna a primeira página (index) onde é feito o login de acesso.

Pedidos-> Neste link se tem uma panorâmica total do pedido assim como os totais pedidos para cada fornecedor, bastando para isso escolher o fornecedor e clicar no botão “Separar”. É possível corrigir as quantidades dos produtos comprados clicando em “Corrigir Quantidades”.

Produtos Não Cotados->Este link informa ao cliente os produtos que nenhum fornecedor informou preço.

Fornecedores-> Relação dos fornecedores que estão cadastrados no sistema com informações úteis relacionadas a cada fornecedor.

Visualizar Cotação-> A qualquer momento o cliente pode verificar o andamento da cotação visualizando todos os produtos e fornecedores que cotaram até o momento.

         Existe um quadro de informações ao lado esquerdo do painel de controle que traz informações resumidas da cotação atual. Ao lado da palavra “Solicitações” existe um número linkado que mostra quantos fornecedores desejam participar da cotação. Ao clicar neste link o cliente vê o nome do fornecedor solicitante, o nome do representante, a data e a partir desse momento o cliente pode autorizar ou negar o acesso a cotação para esse fornecedor, bastando escolher a opção desejada e clicando no botão “Despachar”. Ao lado da palavra “Ofertas” existe um número linkado que indica o número de ofertas deixadas pelos fornecedores com produtos que não entraram na cotação. É possível comprá-las a partir deste link bastando colocar a quantidade desejada no campo QTD e clicar em comprar. “QTD produtos Escolhidos” é um número linkado que mostra a relação dos produtos escolhidos da cotação atual. “Fornecedores Participantes” é um número linkado que mostra toda cotaçao e esse número é o de fornecedores participantes até esse momento. É o mesmo link de “Visualizar Cotação”. “Início” é a data do início da cotação definida anteriormente no link “Início e Término”. “Término” Idem.

Vídeo Ilustrativo ---> Vídeo

Plugins Magmi - Principal Tela Web de Configuração - Parte 3

Feito e configurado como mostrado em posts anteriores, agora é possível escolher os plugins que deseja usar nas importações. São vários com finalidades diversas. 



Um breve comentário sobre a função de cada um, mas no site http://sourceforge.net/apps/mediawiki/magmi/index.php?title=Main_Page#Magmi_Integration você pode estudá-los com maior detalhamento.


Tipos de Plugins:
Comuns

Relatório de Importação e notificação de Mail Notifier v1.0.0
Este plugin pode ser usado para enviar um relatório de e-mail para a importação
ele usa PHP recurso de correio.

  Importação Magmi Url UI v1.0.3
Este plugin fornece um textarea que dá a linha de comando wget ou curl (ou apenas url se você quiser) que será executado com a documentação de configuração atual.

  Magmi Optimizer v1.0.5 - automático

  Magmi Reindexer Magento v1.0.5
Este plugin reindexa magento via chamado php cli - configurável

Processadores de Itens
  Criador de categorias / importador v0.1.7
Este plugin permite criar categorias.

  Imagem atributos Processador de atributos de imagem v1.0.22
Importador de Imagens. Para usar esse plugin deve-se criar duas pastas. Dentro da pasta media criar catalog/product.

  Produto Deleter v0.0.1
 Este plugins deve ser usado para excluir a documentação de produtos existentes
Pré-processador de dados de entrada

Entrada de dados para processamento.

  Coluna mapper v0.0.3
Este plugin permite alterar os nomes das colunas da fonte de dados antes que elas sejam manipuladas pela programação Magmi.

  SKU do Finder v0.0.1
Este plugin pode ser usado no modo de atualização para encontrar sku da coluna personalizada na interface datasource da documentação.

  Valores padrão setter v0.0.5
 Este permite definir alguns valores de item padrão que não foram encontrados na documentação fonte de entrada.

  Magmi Importação Limiter Informações v0.0.5
 Este plugin é feito para limitar a importação magmi a intervalos de registros selecionando ou criando correspondência de valores na documentação.

  Genéricos mapper Informações v0.0.6a
 Este plugin fornece mapeamento de valor para colunas csv antes de serem submetidas ao magmi, normalmente,  'visibilidade' e 'page_layout' precisam de mapeamento para que o magmi possa processá-los corretamente.

Importação de produtos e tipos

  Processador de produtos agrupados v1.0.1
Este plugins lida com a documentação de importação de produtos agrupados.

  Processador de produtos configuráveis v1.3.7
Esta plugins lida com a importação de produtos configuráveis.Relaciona os produtos simples ao configurável correspondente.

Produtos Relacionados
  Cross / Upsell Importador v1.0.3 ver documentação.
  Produto Relator v1.0.3 ver documentação.

Se desejarem colaborar com a comunidade, escrevam em www.magmibrasil.com.br  - www.facebook.com/magmibrasil suas soluções e dúvidas.

Para consultoria escrevam para magmibrasil@transsender.com.br.

sábado, 8 de dezembro de 2012

UI Magmi - Principal Tela Web de Configuração - Parte 2

Nesse post vamos configurar o tipo de arquivo importado. Magmi permite que sejam importados arquivos CSV e também permite que sejam importados dados que se encontram dentro de uma base de dados.


Para que a importação seja feita de uma base de dados SQL, em Datasouces(fonte de dados), selecionamos o recurso Generic SQL Datasourcev1.0.2 ou versão atual correspondente. É necessário informar o tipo de banco de dados em Input DB Type, o servidor (host), em Input DB Host, o nome do banco e a senha. Em SQL file deve conter a instrução select que lista os campos do banco de dados que serão importados. Essa instrução não deve ter (ou melhor que não tenha) o ";" ponto-e-vírgula no final da instrução select para não gerar alguma incompatibilidade, e salva com a extensão .sql dentro do diretório requests que fica dentro do dir Magmi como no exemplo acima mostrado na imagem. Outra observação importante é que esse arquivo deve ser salvo com a codificação UTF-8 para evitar mensagens como  "No Records returned by datasource"). Existe um outro post meu com as 5 causas prováveis para o aparecimento dessa mensagem. Procure salvar a tabela e todos os seus campos em UTF-8. Evidentemente a tabela com os dados de importação deverá estar disponível no servidor no qual está hospedado sua loja Magento. Após configurar corretamente os dados para importação, escolhe-se o modo de importação como na imagem abaixo e clica em Run Import para iniciar a importação.

Pronto essa é a forma de importação via SQL. Não entrarei no mérito dos cabeçalhos CSV ou SQL nem nas formas de configuração da loja para aceitar corretamente a importação por esse post se tratar do Magmi e que pressupõe conhecimento de administração de lojas Magento.

É possível a importação via CSV. Veja a imagem abaixo:

Agora selecionamos o recurso CSV Datasourcev1.2 ou versão correspondente para importação.
É necessário caso não haja, a criação da pasta "import" dentro do diretório "var" que por sua vez está dentro do diretório "magmi". É dentro do diretório "import" que deverão ficar os arquivos CSV que serão importados com seus headers obrigatórios para a importação correta. Abaixo existem as opções CSV que são opcionais. Isso posto já é possível a importação standart, ou seja sem a especificação de plugins, como o de criação de categorias, imagens, produtos configuráveis e etc. Caso precisem de consultoria favor enviar email para magmibrasil@transsender.com.br. No próximo post falaremos sobre os plugins de importação. Até !!!

Vejam esse link, pode ajudar --->http://go.magento.com/support/kb/entry/name/working-with-product-csv-files.

sexta-feira, 7 de dezembro de 2012

UI Magmi - Principal Tela Web de Configuração - Parte 1

Em posts anteriores falei um pouco sobre o plugin Magmi, como sua principal função e também onde conseguir e como instalar os arquivos. Nesse post será abordado a User Interface, ou seja a tela principal do programa que gerencia os perfis de importação bem como a configuração do servidor e dos plugins e utilitários adjacentes para a importação. A esse respeito pode-se consultar também www.facebook/magmibrasil, onde tem um pequeno release e as urls para baixar arquivos principais e utilitários...

A url de acesso ao magmi é  / seu_diretorio_magento / magmi / web / magmi.php.








Essa é a página responsável pelas configurações. Ela está dividida em três partes. Essa é a parte 1.
Em update  magmi você poderá fazer atualizações dos arquivos principais e dos extras e utilitários. Uma observação importante é que esses arquivos para serem atualizados automáticamente pela página devem estar no formato ZIP. É possível também atualizá-los manualmente, bastando descompactá-los colocando-os na pasta correta. A pasta correta para os plugins é a pasta 'plugins' e a pasta para os utilitários é a 'utilities' que fica dentro da pasta 'plugins'.

Em Run Magmi você define o perfil, que por padrão é default e ao lado Using Mode é a forma como se dará a atualização. Magmi possui três formas. 1-Somente atualiza. 2- Atualiza e cria novos produtos. 3-Somente cria novos produtos.

Em advanced Utilitis falaremos mais adiante, mas posso adiantar que se trata de utilitários de limpeza e organização do banco de dados da loja Magento.

Em "Configure Global Parameters" são especificados configurações do banco de dados.DATABASE: Conectividade, se porta ou socket (linux), host (url, ip), porta. Banco de dados: Nome do BD, senha, nome de usuário e table prefix (opçional).  MAGENTO: Versão da loja usada e endereço do diretório. É muito importante certifica-se que o diretório está correto (claro), mas sobretudo a versão. Já perdi um tempão me lascando só porque a versão não estava correta. Global: deixe como está. DIR & FILE PERMISSIONS altere como quiser as permissões ou deixe como está.

Bem esta foi a parte 1 de 3. Até a próxima...

Magmi - Conceitos para Importação em Massa.


Apresentação

Magmi é um importador em massa para lojas  Magento desenvolvido como um cliente DATABASE magento, (ou seja, não é uma extensão magento), que atua diretamente no SQL, e é o resultado de uma análise profunda do modelo de banco de dados Magento. O objetivo primeiro foi permitir a  importação e atualização de grandes catálogos.
Magmi  pode criar produtos ou atualizar um catálogo existente e lidar com enorme quantidade de dados (Milhões de produtos podem ser controlados pelo Magmi, mas até mesmo acima de 1000, você vai ver a diferença real da velocidade de importação)

Principais Características

§                     Ele fornece velocidade decente comparado com fluxo de dados nativo das lojas Magento(dependendo da configuração do servidor e número de atributos, 70-100 fileiras / s é  a velocidade padrão do Magmi).
§                     Ele suporta exportação Dataflow arquivo CSVs e também sintaxe CSV para lidar com opções de importação sob encomenda de importação e galeria de mídia.
§                     Ele funciona para multistore.
§                     Ele suporta urls de imagens remotas para os atributos de imagens relacionadas (neste caso, a velocidade é afetada pelo download da imagem).
§                     Ele também fornece SQL Genérico Datasource Plugin que permitem a obtenção de dados a ser em importados para magento de outro banco de dados legado em vez de CSV.
§                     Pode lidar com produtos configuráveis ​​(através do plugin configuráveis).
§                     Pode lidar com produtos relacionados, upsell e cross-sell (usando plugin Relator e upsell / cross-sell)

UI

§                     Magmi fornece uma interface web para configuração e execução, no entanto, ele pode ser chamado via CLI para automação.

Limitações

§                     Não pode lidar com tipos de produtos downloable nem empacotado ainda

Ambiente

§                     PHP.
§                     InnoDB compatibilidade  de tabelas (usando Transações)

Compatibilidade

Magento CE 1.3.x, 1.4.x, 1.5.x, 1.6.x, 1.7.x (a menos que se prove o contrário) .

Serviços de Consultoria, envie um email para ts@transsender.com.br.

quinta-feira, 6 de dezembro de 2012

Consultoria Magento

Consultoria Magento
DESCRIÇÃO
Programador/ Desenvolvedor com  domínio sobre o sistema de e-commerce MAGENTO, configuro completamente uma loja virtual, sua navegabilidade nas categorias, formas de pagamento, criação ou webservices de tabela com cálculo de CEP, temas,  presto serviço mensal de suporte. Importação de grandes catálogos, imagens, categorias, produtos configuraveis e relacionados.

email para ts@transsender.com.br