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 servidorrequire'1.1. conexao.php';
$inputfilename ='example_tabela_2.xlsx';
$exceldata = array();// Read your Excel workbooktry{
$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 turnfor($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.
Pergunta
pedroddcunha
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:
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.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.