fabio_siqueira

Membros
  • Content Count

    21
  • Joined

  • Last visited

Community Reputation

0 Neutro

About fabio_siqueira

  1. 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); }
  2. Funcionou!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Muito obrigado! tem como já deixar "padrão" para transformar tudo ou realmente tenho que fazer essa conversão?
  3. Fiz isso...e agora ele apresenta o erro: Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xE9dito' for column 'Descricao' at row 1 in C:\wamp\www\consumo\pdo_teste_sozinho2.php:35 Stack trace: #0 C:\wamp\www\consumo\pdo_teste_sozinho2.php(35): PDOStatement->execute() #1 {main} thrown in C:\wamp\www\consumo\pdo_teste_sozinho2.php on line 35 Ele não está aceitando os caracteres especiais, mas a função do prepare não é exatamente essa de aceitar os acentos e etc?
  4. Galera bom dia! alguém consegue me ajudar? Estou tentando importar um arquivo csv para o banco mysql usando PDO. acontece que ele insere todos os valores como NULL na tabela. Segue meu código: <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "fabio"; $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $filename = ($_FILES['arquivocsv2']["tmp_name"]); $abraArq = fopen($filename,"r"); $import = $conn->prepare("INSERT INTO relatorio (DocumentoSD,Descricao,CodCliente,Cliente,Regiao,DataDocumento,Material,Condicoes,Plano)VALUES (:DocumentoSD, :Descricao, :CodCliente, :Cliente, :Regiao, :DataDocumento, :Material, :Condicoes, :Plano)"); $import->bindValue(':DocumentoSD', $DocumentoSD,PDO::PARAM_STR); $import->bindValue(':Descricao', $Descricao,PDO::PARAM_STR); $import->bindValue(':CodCliente', $CodCliente,PDO::PARAM_STR); $import->bindValue(':Cliente', $Cliente,PDO::PARAM_STR); $import->bindValue(':Regiao', $Regiao,PDO::PARAM_STR); $import->bindValue(':DataDocumento', $DataDocumento,PDO::PARAM_STR); $import->bindValue(':Material', $Material,PDO::PARAM_STR); $import->bindValue(':Condicoes', $Condicoes,PDO::PARAM_STR); $import->bindValue(':Plano', $Plano,PDO::PARAM_STR); while (($items = fgetcsv($abraArq, 2048, ';')) !== FALSE) { $DocumentoSD = $items[]; $Descricao = $items[4]; $CodCliente = $items[5]; $Cliente = $items[6]; $Regiao = $items[7]; $DataDocumento = $items[10]; $Material = $items[11]; $Condicoes = $items[17]; $Plano = $items[29]; // Execute prepared query $import->execute();} ?>
  5. obrigado, O erro estava na minha tabela do mysql...estava importando um campo em branco e na tabela estava como não nulo. e retirei isso: if ($_POST['OV']== 'Relatorio') por isso: if ($radio == 'Relatorio') e funcionou
  6. Pessoal boa noite! Estou tentando pegar o valor da combobox do meu formulário e montar uma query no mysql porém ele não reconhece o valor da combobox. Código formulário: <form action="conexao_mysqli.php" method ='post' enctype="multipart/form-data"><br> Arquivo a ser importado: <input type="file" name="arquivocsv2" /> <br><br> <select size="1" name="OV" id="OV"> <option value="Relatorio">Relatorio</option> <option value="Ordens por Status">Ordens por Status</option> </select> <input type="submit" value="Enviar"><br> código PHP: $radio = $_POST['OV']; if ($_POST['OV']== 'Relatorio'){$trunc = "truncate table relatorio"; mysqli_query($conexao,$trunc) or die(mysqli_errno($conexao));} if ($radio == 'Ordens por Status'){$trunc = "truncate table ordens_status"; mysqli_query($conexao,$trunc) or die(mysqli_errno($conexao));} //query para insert na tabela relatorio $filename = $_FILES['arquivocsv2']["tmp_name"]; $abraArq = fopen($filename, "r"); while(($row = fgetcsv($abraArq,2048,";"))!==FALSE) { //condicional de qual radio button esta selecionado if ($_POST['OV']== 'Relatorio'){$sql = "insert into relatorio (DocumentoSD,Descricao,CodCliente,Cliente,Regiao,DataDocumento,Material,Condicoes,Plano) values('$row[0]','$row[4]','$row[5]','".addslashes($row[6])."','$row[7]','$row[10]','$row[11]','$row[17]','$row[29]')";} else if ($radio == 'Ordens por Status'){$sql = "insert into ordens_status (DocumentoSD,Descricao,Cliente,Regiao,DataDocumento,condicoes,FrmPgto) //executa a inserção mysqli_query($conexao,$sql) or die(mysqli_errno($conexao)); } fclose($abraArq);
  7. Consegui resolver fazendo um foreach para cada registro do textarea, caso alguém precise algum dia segue o código abaixo. Não sei se é a melhor forma pois acredito que perde performance se comparar com apenas um "Select * from where Codigo_Vendedor in($text)". Já que ele vai fazer um select para cada registro do textarea e da forma que eu queria seria apenas um select. $teste = explode("\r\n",$_POST['comentario']); foreach($teste as $teste2){ $sql = "SELECT CODIGO_VENDEDOR,NOME_VENDEDOR,SENHA_URA, DATA_EXPIRACAO FROM senha WHERE CODIGO_VENDEDOR = ('$teste2')"; $results = mysqli_query($conexao,$sql); while($row = mysqli_fetch_assoc($results)) { ?> <table> <td style="padding:5px"> <?php echo $row["CODIGO_VENDEDOR"];?></td> <td style="padding:5px"> <?php echo $row["NOME_VENDEDOR"];?></td> <td style="padding:5px"> <?php echo $row["SENHA_URA"];?></td> </table> <?php }} ?>
  8. Alguém? resumindo o que eu queria: Transformar o conteúdo da textarea em um array por quebra linha Segue meu código até o momento: // conectando no banco $conexao = mysqli_connect($servidor,$usuario,$senha,$banco); if (mysqli_connect_errno($conexao)){ echo "Problemas para conectar no banco de dados"; die(); } //pega dados do text área $text = $_POST['comentario']; $quebra = explode("\n",$text); $array = array($quebra); $sql = "SELECT CODIGO_VENDEDOR,NOME_VENDEDOR from senha where CODIGO_VENDEDOR = '$text'"; $resultado = mysqli_query($conexao,$sql); while($exibe = mysqli_fetch_assoc($resultado)){ ?> <tr id="conteudos"> <td style="padding:5px"> <?php echo $exibe["CODIGO_VENDEDOR"];?></td> <td style="padding:5px"> <?php echo $exibe["NOME_VENDEDOR"];?></td> </tr> <?php }
  9. Boa tarde! Tenho um banco no MySql que tem os seguintes campos : Codigo | Senha | Expiracao Eu quero fazer um formulário que tenha um textarea e pegar os códigos que vão ser inseridos nele e em base deles fazer uma consulta no MySql trazendo as senhas e a expiração. O problema é que esses códigos vão ser inseridos no textarea em uma única coluna porém os códigos vão estar um de baixo do outro. Como faço para pegar cada código de um textarea? Ex. de como vão ser "colados" no textarea: ix45 iwff i8n7 907u
  10. será que não vai dar gargalo no meu processador? meu processador é Intel CPU G645 dual core 2.9Mhz
  11. beleza...obrigado!! você sabe qual o minimo de potencia da fonte que é necessário pra essa placa?
  12. Bom dia! queria comprar uma placa de video melhor do que a que eu tenho que já é avó (geforce8600) só pro meu filho poder rodar alguns jogos que já não estou conseguindo atualmente, como por exemplo o novo lego vingadores 2 e quem sabe até o battlefield 4 :-) pretendo deixar o pc com 6 ou 8Gb de ram (atualmente está com 4) minha placa mãe é a Asus p8h61-m lx3 o problema acho que é o processador que é um intel dual core de 3.0 e não queria trocar ele agora... será que rola alguma dessas vgas?: RADEON R7 240 xfx - 2GB GEFORCE GTX 650 point of view gt9800 256 bits 1gb gigabyte gt 730 2gb Desde já, obrigado!