Ir para conteúdo

POWERED BY:

Arquivado

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

Rafael Garcia Reis

Pegar linha específica dentro do banco de dados

Recommended Posts

Galera estou com um problema, vou explicar o negócio do começo.

Inicialmente eu precisava pegar duas tabelas do banco de dados (que são quase idênticas, porém a tabela antiga tinha alguns dados e da tabela nova os campos estão vazios) e compará-las pelo email que são iguais nas duas tabelas, quando a comparação batesse eu dava um update na tabela nova inserindo alguns dados da tabela antiga.

O meu problema está justamente na forma de fazer, abaixo vai um pedaço do código:

<?php


$conecta = mysql_connect($host,$user,$pass);
$selecionaBase = mysql_select_db($db) or die (mysql_error());

$sql = 'SELECT * FROM gen_usuarios';
$bd_antigo = mysql_query($sql) or die(mysql_error());

$sql = 'SELECT * FROM v51ny_users';
$bd_atual = mysql_query($sql) or die(mysql_error());

while ($linhaBDatual = mysql_fetch_assoc($bd_atual)) {
	$emailAtual = $linhaBDatual['email'];
	$idAtual = $linhaBDatual['id'];
	echo "1";
	while ($linhaBDantigo = mysql_fetch_assoc($bd_antigo)) {
		$emailAntigo = $linhaBDantigo['email'];
		echo "2";
		$cpfAntigo = $linhaBDantigo['cpf'];
		$rgAntigo = $linhaBDantigo['rg'];
		

		if ($emailAtual == $emailAntigo) {
			$query = mysql_query("UPDATE v51ny_users SET cpf='$cpfAntigo', rg='$rgAntigo', ") or die(mysql_error());
		}
	}
}
?>

Porém na segunda passada do primeiro loop já não funciona, eu queria por exemplo, pegar uma linha específica e depois comparar, ou então outra solução...

Valeu pessoal =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá,

 

Um Inner Join não resolve?

SELECT * FROM tabela1 INNER JOIN tabela2 ON tabela1.email = tabela2.email

Acho que não funcionaria, pois eu teria que comparar, e se for igual o email tenho que inserir vários dados da tabela 1 na 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
$host = 'localhost';
$user = 'root';
$pass = 'xxxx';
$db = 'xxxx';
$cont = 0;

$conecta = mysql_connect($host,$user,$pass);
$selecionaBase = mysql_select_db($db) or die (mysql_error());

$sql = 'SELECT * FROM bd1';
$bd_antigo = mysql_query($sql) or die(mysql_error());

$sql = 'SELECT * FROM bd2';
$bd_atual = mysql_query($sql) or die(mysql_error());

while ($linhaBDatual = mysql_fetch_assoc($bd_atual)) {
	$emailAtual = $linhaBDatual['email'];
	$dadosBdAtual[$cont] = $emailAtual;
	$cont++;
}

	while ($linhaBDantigo = mysql_fetch_assoc($bd_antigo)) {
		$emailAntigo = $linhaBDantigo['email'];
		$cpfAntigo = $linhaBDantigo['cpf'];
		$rgAntigo = $linhaBDantigo['rg'];
		$crmAntigo = $linhaBDantigo['crm'];
		$enderecoAntigo = $linhaBDantigo['endereco'];
		$cidadeAntigo = $linhaBDantigo['cidade'];
		$cepAntigo = $linhaBDantigo['cep'];
		$ufAntigo = $linhaBDantigo['uf'];
		$telefoneAntigo = $linhaBDantigo['telefone'];
		$celularAntigo = $linhaBDantigo['celular'];
		$endereco_cAntigo = $linhaBDantigo['endereco_c'];
		$cidade_cAntigo = $linhaBDantigo['cidade_c'];
		$cep_cAntigo = $linhaBDantigo['cep_c'];
		$telefone_cAntigo = $linhaBDantigo['telefone_c'];
		$tipo_cadAntigo = $linhaBDantigo['tipo_cad'];
		$constarAntigo = $linhaBDantigo['constar'];
		$matriculaAntigo = $linhaBDantigo['matricula'];
		$estadocivilAntigo = $linhaBDantigo['estadocivil'];
		$orgaoexpedidorAntigo = $linhaBDantigo['orgaoexpedidor'];
		$datanascAntigo = $linhaBDantigo['datanasc'];
		$naturalidadeAntigo = $linhaBDantigo['naturalidade'];
		$nacionalidadeAntigo = $linhaBDantigo['nacionalidade'];
		$maladiretaAntigo = $linhaBDantigo['maladireta'];
		$bairro_residAntigo = $linhaBDantigo['bairro_resid'];
		$bairro_comAntigo = $linhaBDantigo['bairro_com'];
		$estado_comAntigo = $linhaBDantigo['estado_com'];
		$ano_formaturaAntigo = $linhaBDantigo['ano_formatura'];
		$instituicaoAntigo = $linhaBDantigo['instituicao'];
		$expiredateAntigo = $linhaBDantigo['expiredate'];
		$rgnAntigo = $linhaBDantigo['rgn'];
		$usuario_rgnAntigo = $linhaBDantigo['usuario_rgn'];
		$senha_rgnAntigo = $linhaBDantigo['senha_rgn'];
		for ($i=0; $i < $cont; $i++) { 
			$dadoEmail = $dadosBdAtual[$i];
			if ($dadoEmail == $emailAntigo) {
				$query = mysql_query("UPDATE bd2 SET cpf='$cpfAntigo', rg='$rgAntigo', crm='$crmAntigo', endereco='$enderecoAntigo', cidade='$cidadeAntigo', cep='$cepAntigo', uf='$ufAntigo', telefone='$telefoneAntigo', celular='$celularAntigo', endereco_c='$endereco_cAntigo', cidade_c='$cidade_cAntigo', cep_c='$cep_cAntigo', telefone_c='$telefone_cAntigo', tipo_cad='$tipo_cadAntigo', constar='$constarAntigo', matricula='$matriculaAntigo', estadocivil='$estadocivilAntigo', orgaoexpedidor='$orgaoexpedidorAntigo', datanasc='$datanascAntigo', naturalidade='$naturalidadeAntigo', nacionalidade='$nacionalidadeAntigo', maladireta='$maladiretaAntigo', bairro_resid='$bairro_residAntigo', bairro_com='$bairro_comAntigo', estado_com='$estado_comAntigo', ano_formatura='$ano_formaturaAntigo', instituicao='$instituicaoAntigo', expiredate='$expiredateAntigo', rgn='$rgnAntigo', usuario_rgn='$usuario_rgnAntigo', senha_rgn='$senha_rgnAntigo' WHERE email='$dadoEmail'") or die(mysql_error());
			}
	}
}

?>

Resolvido galera, fiz da maneira acima = )

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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