Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
lemissel

Loop

Question

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...

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 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>';
?>

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148131
    • Total Posts
      643434
×
×
  • Create New...