Ir para conteúdo

POWERED BY:

Arquivado

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

LucasPThiago

Mostra contagem se realmente houver duplicidade

Recommended Posts

Boa noite pessoal, então, eu desenvolvi um código cujo a qual ele faz uma consulta no meu banco dos cpf's e oab's duplicados, e mostra de qual caso ele é, o nome do autor e etc.

Meu problema é o seguinte, no while aonde ele monta a tabela do contador junto com o resultado da duplicidade, eu queria que onde não houver duplicidade de somente o cpf ou a oab aparecesse 1.

Meu código é esse aqui:

header('Content-Type: text/html; charset=utf-8');
$host = "localhost";
$user = "root";
$pass = "123";
$banco = "consulta";
$conexao = mysqli_connect($host, $user, $pass) or die (mysqli_error());
mysqli_select_db($conexao, $banco) or die (mysqli_error($conexao));
$querry = 'SELECT cpf_cnpj, COUNT(cpf_cnpj) AS cpf FROM `processos` GROUP BY `cpf_cnpj` HAVING cpf > 1';
$sql = mysqli_query($conexao, $querry)or die(mysqli_error($conexao));
$dados = mysqli_fetch_array($sql);
$querry0 = 'SELECT oab, COUNT(oab) AS contoab FROM `processos` GROUP BY `oab` HAVING contoab > 1';
$sql0 = mysqli_query($conexao, $querry0)or die(mysqli_error($conexao));
$dados0 = mysqli_fetch_array($sql0);
extract($dados);
extract($dados0);
echo 'CPF:'.' '.'OAB:'.'<br>';
$querry1 = '(SELECT num_processo, cpf_cnpj, autor, oab, ajuizamento FROM processos WHERE cpf_cnpj IN (SELECT B.cpf_cnpj FROM `processos` B WHERE cpf_cnpj <> " " GROUP BY B.cpf_cnpj HAVING COUNT(*) > 1) OR oab IN (SELECT B.oab FROM `processos` B WHERE oab <> " " GROUP BY B.oab HAVING COUNT(*) > 1) ORDER BY cpf_cnpj)';
$sql1 = mysqli_query($conexao, $querry1)or die(mysqli_error($conexao));
while($dados1 = mysqli_fetch_array($sql1)){
echo '<b style="padding-left:10px;">'.$cpf.'</b> <b style="padding-left:27px;">'.$contoab.'</b><label style="padding-left:60px;">'.$dados1["num_processo"].' '.'<b>'.$dados1["cpf_cnpj"].'</b>'.' '.$dados1["autor"].' '.'<b>'.$dados1["oab"].'</b>'.' '.$dados1["ajuizamento"].'</label>'.'<br>';
}
Ele me gera esse resultado por exemplo
CPF: OAB:
2(AQUI ERA PRA SER 1, JÁ QUE AQUELE CPF, NÃO ESTÁ REPITIDO)4(A OAB AQUI ESTÁ CERTA, POIS ELA FOI REPITIDA)PROCESSO CPFNAOREPITIDO NOMEDAPESSOA OABREPITIDA 16/03/2016
2(O CPF AQUI ESTÁ CERTO) 4(A OAB AQUI ERA PRA SER 1 JÁ QUE ELA NÃO FOI REPITIDA)PROCESSO CPFREPITIDO1 NOMEDAPESSOA OABNAOREPITIDA 03/03/2016
2 4(AQUI AMBOS ESTÃO CERTOS)PROCESSO CPFREPITIDO2 NOMEDAPESSOA OABREPITIDA 16/02/2016
2(AQUI ERA PRA SER 1) 4PROCESSO CPFNAOREPITIDO NOMEDAPESSOA OABREPITIDA 21/02/2016
2(AQUI ERA PRA SER 1) 4PROCESSO CPFNAOREPITIDO NOMEDAPESSOA FIALHO OABREPITIDA 15/02/2016
Alguém tem ideia de como fazer isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, vamos usar o mesmo acima, como pode ver abaixo, o contador ele ta falando que o CPF: se repete duas vezes e a OAB se repete duas vezes. Mas, ele mostra isso em todas as linhas. o que seria essas linhas todas ? Tenho um código que ele gera pra mim onde existe cpf repitido e onde ele fica. e a mesma coisa pra oab. então, ele pode se repitir, por exemplo, no 450º processo e o outro no 890° processo. Esse mostra exatamente pra mim. O problema, é que nem sempre a oab ela pode vir repitida pra aquele processo.

Vamos supor que quando eu puxei a pesquisa ele mostrou 3 resultado dizendo que eu duplicidades. que eu tenho o;

processo: 12345

cpf:1234567891011

oab:4321

processo: 54321

cpf:1234567891011

oab:1234

processo: 67890

cpf:1110987654321

oab:4321

Ou seja, tenho dois cpf's repitidos e duas oab's repitidos, que são esses: 1234567891011 e 4321. Certo ?

ele virá impresso assim para mim:

12345(ESTE é o processo) 1234567891011(ESTE é o cpf) 4321(ESTE é oab)

54321 1234567891011 1234

67890 1110987654321 4321

E do lado dessa consulta eu tenho um contador, que eu quero ele respectivamente mostre assim para mim

CPF: OAB:

2 2 12345(ESTE é o processo) 1234567891011(ESTE é o cpf) 4321(ESTE é oab)

2 1 54321 1234567891011 1234

1 2 67890 1110987654321 4321

Porque assim ? Porque na primeira linha, o cpf ele se repete em algum outro processo qualquer, por isso 2. E a oab também se repete em outro processo qualquer, também por isso 2. Mas não quero que a contagem seja só pra quando houver ou cpf repitido, ou oab, repitido. Justame por isso que na segunda linha ta falando que a oab é 1, porque aquela oab não se repete em lugar nenhum

O meu problema, é que quando eu gero a minha consulta com o contador, o meu while ele está repetindo consecutivamente o resultado que dessas consultas: SELECT cpf_cnpj, COUNT(cpf_cnpj) AS cpf FROM `processos` GROUP BY `cpf_cnpj` HAVING cpf > 1 <-- ESTÁ É DO CPF

SELECT oab, COUNT(oab) AS contoab FROM `processos` GROUP BY `oab` HAVING contoab > 1 <-- ESTÁ É DA OAB

que são só 2 e 4. Pois, como exemplo, eu botei somente um cpf repitindo 2 vezes, e uma oab repitindo 4 vezes lá no banco. Eu quero que ele faça a contagem daquela consulta que eu fiz e não no banco, como dei o exemplo acima:

12345(ESTE é o processo) 1234567891011(ESTE é o cpf) 4321(ESTE é oab)

54321 1234567891011 1234

67890 1110987654321 4321

E o contador, contando esse resultado. Pra ficar dessa maneira:

CPF: OAB:

2 2 12345(ESTE é o processo) 1234567891011(ESTE é o cpf) 4321(ESTE é oab)

2 1 54321 1234567891011 1234

1 2 67890 1110987654321 4321

processo: 12345

cpf:1234567891011

oab:4321

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Tudo bem pessoal?
       
      No código abaixo, estou fazendo uma consulta nas tabelas, banners e banners_referencia
      Meu objetivo é trazer resultados com valores iguais ao nome da cidade declarada na $cidade ou resultados com a referencia Total.
      O problema é que está trazendo todos os resultados. Tenho 10 linhas, 1 com o nome da cidade e duas com o valor Total, então o resultado teria que ser de apenas 3 linhas, mas mostra tudo.
       
      $banner = "SELECT A.*, B.* FROM banners A, banners_referencia B WHERE B.cod_referencia = A.cod_referencia AND A.cidade = '$cidade' OR B.referencia = 'Total' ORDER BY RAND()";
      $banner = mysqli_query($conexao, $banner) or die ("Banner não encontrado");
      while($busca= mysqli_fetch_array($banner)){
          print $busca['cidade'].'<br>';
      };
       
      Alguém consegue me ajudar?
    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
×

Informação importante

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