Ir para conteúdo

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 landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
×

Informação importante

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