Ir para conteúdo
Fórum Script Brasil

pedroddcunha

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre pedroddcunha

pedroddcunha's Achievements

0

Reputação

  1. pedroddcunha

    Pesquisa dupla

    Olá, Tem pouco tempo que estou mexendo em Php para otimizar algumas tarefas onde trabalho. Em meu banco de dados tenho 2 tabelas que usarei. Uma tabela (tabela 1) é composta por: id | cod1 | cod2 | preço A outra tabela (tabela 2) é composta por: id | cod1 | cod2 | valor | preço Já revirei bastante a Internet atrás de uma solução mas não consegui concretizar da forma que quero. Tenho um banco de dados que, a forma na qual insiro dados nele, é através da importação de um arquivo .xlxs (encontrei o código na internet e fiz algumas alterações). Eu seleciono num formulário os campos cod1 e cod2 e o arquivo .xlxs importado salva o valor. Precisaria fazer com que ao adicionar estes 3 itens (cod1 | cod2 | valor) na tabela 2, o código já procure pelo cod1 e cod2 na tabela 1, retorne o respectivo preço e salve no campo valor da tabela 2. O código de importação para a tabela 2 é o seguinte: <?php /** * PHPExcel - Excel data import to MySQL database script example * ============================================================================== * * @version v1.0: PHPExcel_excel_to_mysql_demo.php 2016/03/03 * @copyright Copyright (c) 2016, http://www.ilovephp.net * @author Sagar Deshmukh <sagarsdeshmukh91@gmail.com> * @SourceOfPHPExcel https://github.com/PHPOffice/PHPExcel, https://sourceforge.net/projects/phpexcelreader/ * ============================================================================== * */ require 'Classes/PHPExcel/IOFactory.php'; //Chama o arquivo para conectar ao servidor require '1.1. conexao.php'; $inputfilename = 'example_tabela_2.xlsx'; $exceldata = array(); // Read your Excel workbook try { $inputfiletype = PHPExcel_IOFactory::identify($inputfilename); $objReader = PHPExcel_IOFactory::createReader($inputfiletype); $objPHPExcel = $objReader->load($inputfilename); } catch(Exception $e) { die('Error loading file "'.pathinfo($inputfilename,PATHINFO_BASENAME).'": '.$e->getMessage()); } // Get worksheet dimensions $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); $column1 = "cod1"; //nome da 1a coluna $column2 = "cod2"; //nome da 2a coluna $column3 = "valor"; //nome da 3a coluna $column4 = "preço"; //nome da 4a coluna // RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO ! $cod1 = $_POST ["cod1"]; //atribuição do campo "cod1" vindo do formulário para variavel $cod2 = $_POST ["cod2"]; //atribuição do campo "cod2" vindo do formulário para variavel // Loop through each row of the worksheet in turn for ($row = 3; $row <= $highestRow; $row++) //$row = 3 (a partir de qual linha será feita a importação de dados { // Read a row of data into an array $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); // Insert row data array into your database of choice here $sql = "INSERT INTO $table_est ($column1, $column2, $column3) VALUES ('".$cod1."', '".$cod2."', '".$rowData[0][5]."')"; if (mysqli_query($conexao, $sql)) { $exceldata[] = $rowData[0]; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conexao); } } // Print excel data echo "<table>"; foreach ($exceldata as $index => $excelraw) { echo "<tr>"; foreach ($excelraw as $excelcolumn) { echo "<td>".$excelcolumn."</td>"; } echo "</tr>"; } echo "</table>"; mysqli_close($conexao); ?> Fiz o upload de uma imagem para tentar explicar com mais clareza o que preciso. Não sei se fui claro, qualquer coisa me perguntem. Desde já, obrigado.
  2. Olá, Tem pouco tempo que estou mexendo em Php para otimizar algumas tarefas onde trabalho. Recentemente consegui fazer com que novos formulários sejam abertos através de um botão para o usuário digitar outros valores. Porém, não consigo fazer com que exista a validação destes valores: A parte de validação é a seguinte: function validaCampo() { if(document.cadastro.obra.value == "" || document.cadastro.obra.value.indexOf('/')== -1 ){ alert('Preencha com o código da obra corretamente!'); document.cadastro.obra.focus(); return false; } else if(document.cadastro.qtde_est.value=="" || document.cadastro.qtde_est.value == 0){ alert("Preencha com a quantidade de estacas! A quantidade não pode ser zero!"); document.cadastro.qtde_est.focus(); return false; } else if(document.cadastro.valor_global.value==""){ alert("Deve ser inserido o valor total do orçamento!"); document.cadastro.valor_global.focus(); return false; } else if(document.cadastro.secao.value==""){ alert("Devem ser inseridas as seçoes da obra!"); return false; } return true; } A parte que adiciona o novo formulário é a seguinte: $(function () { function removeCampo() { $(".removerCampo").unbind("click"); $(".removerCampo").bind("click", function () { if($("tr.linhas").length > 1){ $(this).parent().parent().remove(); } }); } $(".adicionarCampo").click(function () { novoCampo = $("tr.linhas:first").clone(); novoCampo.find("input:text").val(""); novoCampo.insertAfter("tr.linhas:last"); removeCampo(); }); }); E a parte do formulário é a seguinte: <form id="cadastro" name="cadastro" method="post" action="3.1. inserir valores - global.php" onsubmit="return validaCampo(); return false;"> <table width="625" border="0"> <tr> <td width="40">Obra:</td> <td><input name="obra" type="text" id="obra" size="15" maxlength="15" placeholder="1234/2017"/> <span class="style1">*</span> <span>Cadastrar o c&oacute;digo da obra</span></td> </tr> <tr> <td width="40">Qtde de estacas:</td> <td><input name="qtde_est" type="text" id="qtde_est" size="15" maxlength="15" /></td> </tr> <tr> <td width="40">Valor global (R$):</td> <td><input name="valor_global" type="text" id="valor_global" size="15" maxlength="15" /></td> </tr> <tr> <td width="40">Se&ccedil;ões:</td> <tr class="linhas"> <td><input type="text" name="secao[]" id="secao" maxlength="15" /></td> <td><a href="#" class="removerCampo" title="Remover linha"><input type="button" value="X"/></a></td> </tr> <tr> <td colspan="4"> <a href="#" class="adicionarCampo" title="Adicionar item"><input type="button" value="+"/></a></td> <td width="10" align='center'></td> </tr> </tr> <tr> <td colspan="2"><p> <input name="cadastrar" type="submit" style="font-size:15pt;background-color:lightgreen" id="cadastrar" value="Cadastrar" /> <br /><br /> <input name="limpar" type="reset" style="font-size:15pt;background-color:lightgreen" id="limpar" value="Limpar campos" /> <br /><br /> <span class="style1">* Campos com * s&atilde;o obrigat&oacute;rios! </span></p> <p>&nbsp; </p></td> </tr> </table> </form> Já fiquei horas e horas pesquisando na Internet, mas ainda não consegui resolver o problema. O problema é na validação no campo "secao". Atualmente, o código funciona somente para 1 formulário aberto e preenchido. Se houverem mais de 1 formulários o código pede pra inserir um valor no respectivo formulário (mesmo já tendo algum valor). Desde já, obrigado.
×
×
  • Criar Novo...