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

Loop


lemissel

Pergunta

Ae pessoal, eu to com um probleminha aqui, tp eu achoq ue é no meu loop, mas n consegui indentificar... se alguém puder fazer esse favor wink.gif

é o seguinte, após fazer a busca nas tabelas necessárias e tals, ele tem q me gerar a conta dos dados repetidos... digamos: eu clico para realizar a busca de uma determinada seção, dentro dessa tabela, tem diversos dados, e alguns são repetidos. O que eu preciso, é contar esses repetidos e saber os seus registros e depois exibir na tela...Ele até funciona, mas digamos q eu tenha dois dados com com o mesmo campo chamado leo, ele me gera:

quantidade de campos= 2
descrição=leo
registro=leo-1/leo2              //se fosse só até aqui estaria certo

quantidade de campos= 2
descrição=leo
registro=leo-1/leo2/leo-1/leo2 

se estiver complicado ou se quiserem ver o código, avisem q eu edito...

Valeu ae...

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
<?php
  include "../fnc_uteis.php";
  conecta();
  
  //busca pela seção
  $b=mysql_query("SELECT * FROM aa_inventario WHERE subsecao='".$_GET['subsec']."' AND secao='".$_GET['sec']."'");

  //Testa erro
  if(!$b){
    echo "<h3 align=\"center\">Ocorreu o seguinte erro ao realizar a busca na seção.</h3><br>";
    echo mysql_error();
    exit;
  }
  
  //essa linha só é usada para mostrar na var responsavel
  $o=mysql_fetch_array($b);
  
  //prepara para saída html
  //busca seção e subseção
  $bsec=mysql_query("SELECT * FROM aa_inventario_secoes WHERE idsec='".$_GET['sec']."'"); //busca seções
  $bssec=mysql_query("SELECT * FROM aa_inventario_subsec WHERE idssec='".$_GET['subsec']."'");    //busca subseções
  $s=mysql_fetch_array($bsec);
  $ss=mysql_fetch_array($bssec);
    
  //separa numero de registro inicial do nome da subseção
  $reggeral=explode("[",$ss['subsec']);
  $regg=str_replace("]"," ",$reggeral[1]);

  //saída html do cabeçalho da tabela
  echo '<table width="100%" border=1 cellspacing=0 cellpadding=0>
  <tr>
    <td colspan="3" calss="bordas">
      <table width="100%" border=0 cellspacing=0 cellpadding=0>
        <tr>
          <td width="130" valign="top"><img src="logo.jpg"></td>
          <td valign="top"><font face="Verdana" size="2"><b>RELAÇÃO DE FERRAMENTAS INDIVIDUAIS</b></font><br>
          <b><font face="Verdana" size="2">'.strtoupper($s['secao']).' - '.strtoupper($reggeral[0]).'</b></font><br>
          <b><font face="Verdana" size="2">RESPONSÁVEL:</b> '.stripslashes(strtoupper($ss['responsavel'])).'</font><br>
          <b><font face="Verdana" size="2">REGISTRO GERAL:</b> '.strtoupper($regg).'</font><br>
        <br></td>

      </tr>
      </table>
    </td>

  <tr>
  <tr>
    <td align="center" width="5%"><font face="Verdana" size="2"><b>Qtd.</b></font></td>
    <td align="center"><font face="Verdana" size="2"><b>Descrição</b></font></td>
    <td align="center" width="20%"><font face="Verdana" size="2"><b>Nº do Registro</b></font></td>
  <tr>';
  
  //começa o laço na qtd de registros (total) da seção
  while($s=mysql_fetch_array($b)){
    //compara no bd se tem mais algum com o mesmo nome de registro
    //busca na base de dados pelo registro
    $breg=mysql_query("SELECT registro FROM aa_inventario WHERE descricao='".stripslashes($s['descricao'])."'");
    $qtd=mysql_num_rows($breg); //conta quantos registros tem...

    //msg de erro
    if(!$breg){
      echo "<h3 align=\"center\">Ocorreu o seguinte erro ao realizar a 2ª busca.</h3><br>";
      echo mysql_error();
      exit;
    }
    
    if($qtd < 1){
      echo '<center>Esta seção não contém registros</center>';
      exit;
    }
    else if($qtd == 1){
      echo '<tr>
              <td align="center">1</td>
              <td>'.strtoupper(stripslashes($s['descricao'])).'</td>
              <td>'.strtoupper(stripslashes($s['registro'])).'</td>
            <tr>';
    }
    else{
      $atnum='';
    
      //laço contador de registros (concatenador)
      while($resp=mysql_fetch_array($breg)){
    
        //concatena os registros (AMT-9800 AMT-0909 ...)
        if($amtnum != '')
          $amtnum=$amtnum.'/'.stripslashes($resp['registro']);
        else
          $amtnum=stripslashes($resp['registro']);
      }
    
      echo '<tr>
                <td align="center">'.$qtd.'</td>
                <td>'.strtoupper(stripslashes($s['descricao'])).'</td>
                <td>'.strtoupper($amtnum).'</td>
            <tr>';
    }//fecha else
}//fecha while

  echo '</table>';
?>

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