Ir para conteúdo
Fórum Script Brasil
  • 0

Como mudar os parametros do insert usando PDO


fabio_siqueira

Pergunta

Hello everyone !!

Estou estudando PDO e fiquei com uma dúvida, se alguém puder me ajudar...agradeço!!

Vou tentar explicar :-)

Usando o conceito de orientação a objeto que "reaproveita" o código já criado, eu quero fazer uma query usando bindparam() e pegando os values de uma array, cujo vou criar esse array a partir de um fgetcsv().

Até ae está + ou - td bem;

Eu queria saber se é possível que os valores desse array fossem alterados de acordo com o csv que eu selecionar e fazer apenas 1 query.

EX csv vendedor:

$filename = ($_FILES['vendedor']["tmp_name"]);
$abraArq = fopen($filename,"r");
$trunc = "truncate table senha";
$executar = $pdo->exec($trunc);
while(($row = fgetcsv($abraArq,2048,";"))!==FALSE) {
	
	$sql = "insert into vendedor (CODIGO_VENDEDOR,NOME_VENDEDOR,STATUS_VENDEDOR,SENHA_URA,DATA_EXPIRACAO) values('$row[0]','$row[2]','$row[3]','$row[7]','$row[8]')";
	$executar = $pdo->exec($sql);
	}

EX csv cliente:

$filename = ($_FILES['cliente']["tmp_name"]);
$abraArq = fopen($filename,"r");
$trunc = "truncate table senha";
$executar = $pdo->exec($trunc);
while(($row = fgetcsv($abraArq,2048,";"))!==FALSE) {
	
	$sql = "insert into cliente (CODIGO_cliente,NOME_cliente,STATUS_cliente,SENHA_URA,DATA_EXPIRACAO) values('$row[1]','$row[5]','$row[6]','$row[7]','$row[11]')";
	$executar = $pdo->exec($sql);
	}

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá Fábio!

Não sei se entendi direito...

Mas o que muda nos dois trechos de código são: o nome do $_FILES e a query de inserção.

Tente unificar os dois trechos assim:

$filename = ($_FILES['vendedor']["tmp_name"]);
$abraArq = fopen($filename, "r");
$trunc = "truncate table senha";
$executar = $pdo->exec($trunc);
while (($row = fgetcsv($abraArq, 2048, ";")) !== FALSE) {
    // defina aquery para cliente
    $sql = "insert into cliente (CODIGO_cliente,NOME_cliente,STATUS_cliente,SENHA_URA,DATA_EXPIRACAO) values('$row[1]','$row[5]','$row[6]','$row[7]','$row[11]')";
    // e somente se for arquivo de vendedor, a query será alterada
    if (isset($_FILES['vendedor'])) {
        $sql = "insert into vendedor (CODIGO_VENDEDOR, NOME_VENDEDOR, STATUS_VENDEDOR, SENHA_URA, DATA_EXPIRACAO) values('$row[0]', '$row[2]', '$row[3]', '$row[7]', '$row[8]')";
    }
    $executar = $pdo->exec($sql);
}

 

O conceito que você menciona é chamado DRY - Don't Repeat Yourself (em português: Não repita a si mesmo), é o que usamos para evitar a escrita de trechos de código iguais, veja: https://pt.wikipedia.org/wiki/Don%27t_repeat_yourself

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...