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

Pesquisa dupla


pedroddcunha

Pergunta

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.

 

Pesquisa dupla - tabela explicação.png

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,2k
    • Posts
      652k
×
×
  • Criar Novo...