Jonas Barden Postado Julho 31, 2013 Denunciar Share Postado Julho 31, 2013 (editado) 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 Julho 31, 2013 por Jonas Barden Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Markus Magnus Postado Agosto 5, 2013 Denunciar Share Postado Agosto 5, 2013 (editado) 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 Agosto 5, 2013 por Markus Magnus Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jonas Barden
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 BardenLink para o comentário
Compartilhar em outros sites
1 resposta 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.