Ir para conteúdo

Arquivado

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

vagnercrescencio

Inserir dados no Banco

Recommended Posts

Olá pessoal, acredito estar no lugar certo, seguinte: Tenho em uma pagina php que lê um arquivo .csv, em média 3.000 linhas e inseri os dados no MySQL. Leva mais ou menos 1 minuto para adicionar esses dados, porém neste 1 minuto não consigo mais usar o sistema, mesmo em outro dispositivo, ou acessar o banco para fazer um login no sistema por exemplo. Isso é normal? Estou fazendo algo errado? Fui claro? Obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

será que o servidor não está com o gargalo. Já fiz um procedimento parecido... e realmente consome bastante do mesmo... Faça uma avaliação do mesmo. e veja se não é hora de fazer um upgrade no mesmo. Veja a questão de memória...

Outra coisa, está fazendo o insert em que tipo de tabela, (myisam), pois se for innodb pode demorar um pouco  mais... o que pode ser feito é inserir numa tabela desse tipo (myisam) e depois criar um procedimento para fazer o procedimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por opl12
      Boa tarde mestres!
       
      Por favor, podem ajudar neste erro:
       
      tenho uma base em csv e estou importando via PHP no servidor PhpMyAdmin.. é uma base com mais de 100mil linhas.. mas retorna esse erro
       
      Tem algo que possa fazer?
      se eu imprimir na tela o resultado, ok...
      mas ao tentar gravar no banco dá erro...
       
      o erro acontece nesta linha:  mysql_query($import) or die(mysql_error());
       
      vlew
       
      Segue meu código
      <html> <head> <title> Importar dados</title> <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1? /> </head> <body> <?php //conexão header('Content-Type: text/html; charset=UTF-8'); try { $conn = new PDO('mysql:host=localhost;dbname=painel', 'root', ''); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); ; } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } //======================================================================================= //pegar o arquivo... //Lembrando, nesse caso o arquivo php está na raiz e a pasta do csv está hierarquicamente abaixo dela. //Caso eles estejam na mesma pasta, o fopen deverá ser assim---> $handle = fopen('filename.csv', "r"); //caso seja um diretório, use---> $handle = fopen('path/to/the/paste/where/the/file/is.csv', "r"); $handle = fopen('receita_cockpit.csv', "r"); while (($dados = fgetcsv($handle, 1000, ";")) !== FALSE) { $import="INSERT INTO receita(CICLO, DATA, AREA, NOME_COORDENACAO, NOME_SETOR, NOME_SUB_SETOR, UF, META, REAL, TENDENCIA, GAP_DISTR,Area_2,uf_2, Gerência, Eudora, Ciclo_Area, Ciclo_Coord) VALUES ('$dados[0]', '$dados[1]', '$dados[2]', '$dados[3]', '$dados[4]', '$dados[5]', '$dados[6]', '$dados[7]', '$dados[8]', '$dados[9]', '$dados[10]', '$dados[11]', '$dados[12]', '$dados[13]', '$dados[14]', '$dados[15]', '$dados[16]')"; mysql_query($import) or die(mysql_error()); //insere dados no banco de dados echo $import . "<br>"; // mostra o resultado na tela } fclose($handle); print "Import done"; ?> </body> </html    
    • Por GabrielB3r
      Bom dia pessoal, tenho um formulário que contém 5 exames a serem cadastrados em bancos de dados diferentes. Porém na aba "outros" fiz um campo dinâmico caso a pessoa realize outros exames que não são mostrados no formulário. Segue a parte do código:
      exames.php
       A parte à baixo está dentro do formulário <form id="FormExamesAnimal" method="POST"> <div id="form_outros"> <script type="text/javascript"> var qtdeCampos = 0; function addCampos() { var objPai = document.getElementById("campoPai"); //Criando o elemento DIV; var objFilho = document.createElement("div"); //Definindo atributos ao objFilho: objFilho.setAttribute("id","filho"+qtdeCampos); //Inserindo o elemento no pai: objPai.appendChild(objFilho); //Escrevendo algo no filho recém-criado: document.getElementById("filho"+qtdeCampos).innerHTML = "<div id='form_outro'><fieldset class='scheduler-border'><legend class='scheduler-border'>Exame outro:</legend><div class='col-md-6'><label>Data de Envio do Material:</label><input type='text' class='form-control campos' id='data_mat_outro"+qtdeCampos+"' name='data_mat_outro[]'></div><div class='col-md-6'><label>Data do Resultado:</label><input type='text' class='form-control campos' id='data_result_outro"+qtdeCampos+"' name='data_result_outro[]'></div><div class='col-md-6'><label>Resultado:</label><input type='text' class='form-control campos' id='result_outro"+qtdeCampos+"' name='result_outro[]'></div><div class='col-md-6'> <label>Destino Animal:</label><input type='text' class='form-control campos' id='dest_outro"+qtdeCampos+"' name='dest_outro[]'></div><div class='col-md-12'><label>Observação:</label><textarea class='form-control' rows='4' id='obs_outro"+qtdeCampos+"' name='obs_outro[]' placeholder='Insira um Comentário se necessário'></textarea></div></fieldset></div><input type='button' onClick='removerCampo("+qtdeCampos+")' value='Apagar campo'>"; qtdeCampos++; } function removerCampo(id) { var objPai = document.getElementById("campoPai"); var objFilho = document.getElementById("filho"+id); //Removendo o DIV com id específico do nó-pai: var removido = objPai.removeChild(objFilho); } </script> <fieldset class="scheduler-border"> <legend class="scheduler-border">Exame outro:</legend> <div class="col-md-6"> <label>Data de Envio do Material:</label> <input type="text" class="form-control campos" id="data_mat_outro" name="data_mat_outro"> </div> <div class="col-md-6"> <label>Data do Resultado:</label> <input type="text" class="form-control campos" id="data_result_outro" name="data_result_outro"> </div> <div class="col-md-6"> <label>Resultado:</label> <input type="text" class="form-control campos" id="result_outro" name="result_outro"> </div> <div class="col-md-6"> <label>Destino Animal:</label> <input type="text" class="form-control campos" id="dest_outro" name="dest_outro"> </div> <div class="col-md-12"> <label>Observação:</label> <textarea class="form-control" rows="4" id="obs_outro" name="obs_outro" placeholder="Insira um Comentário se necessário"></textarea> </div> </fieldset> <div id="campoPai"></div> <input type="button" value="Adicionar campos" onclick="addCampos()"> </div> <!--FIM OUTROS EXAMES--> </div> <script> /*Filtro com o formato de data*/ $('#data_mat_outro, #data_result_outro').datepicker({ format: "dd/mm/yyyy", language: "pt-BR", autoclose: true }); /*Valida e cadastra os exames*/ $("#FormExamesAnimal").validate({ rules: { data_mat_outro: { required: true }, data_mat_outro: { required: true }, result_outro: { required: true } }, messages: { data_mat_outro: "Informe a data de envio do material", data_result_outro: "Informe a data do resultado", result_outro: "Informe o resultado" }, tooltip_options: { data_mat_outro: { placement:'bottom', trigger:'focus' }, data_result_outro: { placement:'bottom', trigger:'focus' }, result_outro: { placement:'bottom', trigger:'focus' } }, /*Grava os itens no banco*/ submitHandler: function () { $.ajax({ url:"exames/cadastrar_exames.php", type:"POST", data:$("#FormExamesAnimal").serialize(), dataType:'json', beforeSend: function() { $('#gravar').prop("disabled" , true); }, complete: function() { $(':input','#FormExamesAnimal') .not(':button, :submit, :reset, :hidden') .val('') .removeAttr('checked') .removeAttr('selected'); mudar_pagina('animais/relatorio.php','#relatorio_paginacao'); CriarToast('Exames cadastrados com sucesso.'); $('#gravar').prop("disabled" , false); }, success:function(resposta) { } });/*ajax*/ return false; }/*submitHandler*/ }); /*validate*/ });/*document redy function*/ </script> Minha dúvida é como eu faço para inserir essa parte no banco de dados, tentei colocar um "for" mas estava salvando somente a última opção cadastrada e as outras maneiras que encontrei pela internet nem funcionaram :/
      cadastrar_exames.php
      include "../../banco_animais/conecta.php"; /*Outros*/ $data_mat_outro = strip_tags($_POST['data_mat_outro']); $data_result_outro = strip_tags($_POST['data_result_outro']); $result_outro = strip_tags($_POST['result_outro']); $dest_outro = strip_tags($_POST['dest_outro']); $obs_outro = strip_tags($_POST['obs_outro']); //caso não tenha sido inserido nenhum valor, salva como não cadastrado. if($data_mat_outro==null && $data_result_outro==null && $result_outro==null && $dest_outro==null && $obs_outro==null){ $data_mat_outro = 'nao cadastrado'; $data_result_outro = 'nao cadastrado'; $result_outro = 'nao cadastrado'; $dest_outro = 'nao cadastrado'; $obs_outro = 'nao cadastrado'; $realiza_outro = 'nao'; } /*Salva no banco*/ $sql_outros="INSERT INTO exame_outros (realiza_outro, data_mat_outro, data_result_outro, result_outro, dest_outro, obs_outro, outro_cod, data_proc) VALUES ('$realiza_outro', '$data_mat_outro', '$data_result_outro', '$result_outro', '$dest_outro', '$obs_outro', '$outro_cod', CURDATE())"; /*realiza_outro salva se o exame foi realizado ou não e é exibido em uma tabela depois, outro_cod serve para fazer referência ao animal escolhido para realizar os exames e data_proc salva a data atual que foi feito o cadastro do exame*/  
×

Informação importante

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