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

Comparar dados no PHP


Jonas Barden

Pergunta

Prezados,

preciso de uma ajudinha de vocês.

Estou fazendo um programinha e barrei em uma situação. Preciso comparar os códigos de uma base local com uma base no site.

Exemplo:

// recebo os dados assim

include 'conexao.php';

$productid = $_POST['codigo'];

$sql = mysql_query("select * from isc_products");

// onde $productid são os códigos dos produtos da base local => 50;30;300;550;450

// onde $sql são os códigos dos produtos no site => 30;300;450

O que eu quero fazer é comparar os códigos $productid com $sql e excluir os diferentes. Ou seja 50 e 550 devem ser excluídos.

Tentei assim:

<?php include 'conexao.php';

$productid = $_POST['codigo'];

$sql = mysql_query("select * from isc_products");

$ter = mysql_fetch_array($sql);

//$prod = explode(";",$ter['productid']);

function proccod ($productid, $ter, $resultado = 0) {

foreach ($ter['productid'] as $key => $value){

$pos = strpos($productid, $value);

if ($pos !== false) {

$resultado = 1;

}

} return $resultado;

}

?>

Mas não consigo retornar os diferentes. O que estou fazendo errado? Tudo? ehehhehe

Editado por Jonas Barden
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Não testei, pois pra isso precisaria criar as tabelas, mas é mais ou menos assim

<?php
// função resumida da que eu uso para fazer consultas ela retorna uma matriz bidimensional dos resultados da consulta no seguinte formato
// EX. de SQL "SELECT id, nome, idade, sexo FROM alunos"
// EX de Retorno
// array(
//	0 => array(
//		'id' => 1,
//		'nome' => 'Leonardo',
//		'idade' => 22,
//		'sexo' => 'masculino'
//	),
//	1 => array(
//		'id' => 2,
//		'nome' => 'Ana Maria',
//		'idade' => 35,
//		'sexo' => 'feminino'
//	)
// );
function consulta($query){
	$nome_banco = 'banco';
	$senha_banco = 'senha';
	$usuario_banco = 'usuario';
	$local_banco = 'localhost';
	$conexao = mysql_connect($local_banco, $usuario_banco, $senha_banco);
	if(!$conexao){die('Não foi possível conectar: '.mysql_error());}
	$banco = mysql_select_db ($nome_banco, $conexao);
	if(!$banco){die('Não foi possível conectar no banco: '.mysql_error());}
	$resultado = mysql_query($query, $conexao);
	if(!$resultado){die('<br />Não foi possível fazer a consulta: '.mysql_error().'<br />'.$query);}
	if (mysql_num_rows($resultado)) {
		$i=0;
		while($result = mysql_fetch_assoc($resultado)) {
			foreach ($result as $key=>$valor){$var[$i][$key] = $valor;}
			$i++;
		}
		return $var;
	} else {
		return false;
	}
	return;
}
// Cria o vetor dos produtos Locais
$productsLocal = explode(";",$_POST['codigo']);
// Consulta os produtos no site
$productsSite = consulta("select * from isc_products");
// Variável de verificação
$verificar = true;
// Percorre todos os id dos produtos locais
foreach ($productsLocal as $prodLocal){
	// Percorre todos os id dos produtos do site
	foreach($productsSite as $prodSite) {
		// Verifica a igualdade de um item local e um item do site
		if ($prodSite['productid'] == $prodLocal) {
			$verificar = false;
		}
	}
	// Se um item local não estiver dentre os itens do site a variável $verificar permenecerá valendo "true"
	if ($verifica) {
		// Assim ele escreve apenas os diferentes
		echo $prodLocal;
	}
}
?>

Espero ter ajudado.

Abraços

Editado por Markus Magnus
Link para o comentário
Compartilhar em outros sites

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
      651,9k
×
×
  • Criar Novo...