Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Ajuda na apresentação de resultados


hellxande

Question

Salve galera, estou precisando de ajuda.

Tenho uma Tabela chamada Franquia, onde cadastro os dados dos Franqueados da Empresa. Meu objetivo é realizar a apresentação destes franqueados da seguinte forma:

'1º O Estado e na frente do mesmo um Sinal de +

UF ( + )

' Ao clicar no sinal de + apresentará as Franquias daquele Estado.

Dados cadastrais de todas as Franquias deste Estados

Neste momento tenho conseguido fazer a primeira parte utilizando esta Seleção ( SELECT DISTINCT FranquiaEnderecoUF FROM Franquia Order By FranquiaEnderecoUF ASC )

O problema esta no momento de escrever os dados de cada Franquia por estado, pois ao clicar no Sinal de + fica sempre apresentado a mesma.

Segue abaixo os trecho do meu Código.

' Seleção da Franquia fazendo a distinção por estado
TabFranquiaGeral = Server.CreateObject("adodb.recordset")
sql = "SELECT DISTINCT FranquiaEnderecoUF FROM Franquia Order By FranquiaEnderecoUF ASC"
set TabFranquiaGeral = Conexao.execute(sql)
<style>
/* Classe que mostra e oculta a Franquia*/
.esconder { display:none; visibility:hidden; }
.mostrar { display:block;Visibility:visible; }
</style>
&lt;script>
/* Função para mostrar e ocultar os dados das Franquias*/
var strId = ""; var mosTod = true;
function labelDetalhe(strIdDetalhe,strClasse){ var id = document.getElementById(strIdDetalhe); if(typeof(id) == 'object'){ if(strClasse == 'mostrar'){ id.innerHTML = '<i>-</i>'; }else{ id.innerHTML = '+'; } } }
function mostrarItem(strItem, strIdDet){ var d = document; var obj = d.getElementById(strItem); if(mosTod){ if(obj.className == 'mostrar'){ obj.className = 'esconder'; }else{ obj.className = 'mostrar'; } labelDetalhe(strIdDet, obj.className); strId = strItem; }else{ if(strId == ''){ obj.className = 'mostrar'; strId = strItem; }else if(strId == strItem){ obj.className = 'esconder'; strId = ''; }else{ obj.className = 'mostrar'; d.getElementById(strId).className = 'esconder'; strId = strItem; }        labelDetalhe(strIdDet, obj.className); } }
</script>
<%
' Verificação se existe alguma Franquia a ser apresentada com base no Select Distinct
IF TabFranquiaGeral.EOF Then
     Response.Write("Nenhuma Pergunta Franquia a ser apresentada !!")
Else
     count = 0
     Do While Not TabFranquiaGeral.EOF

     ' Variável que recebe o Nome do Estado a ser apresentado
     FranquiaEnderecoUF = TabFranquiaGeral("FranquiaEnderecoUF")
                
%>
<!-- Inicio da Montagem da tabela de apresentação das franquias -->
            <table width="900" border="0" align="center" cellpadding="0" cellspacing="0" id="Franquias">
              <tr>
                <td colspan="2" align="left" valign="middle">
                <a href="java script:void(0);"  onclick="mostrarItem('item<%=i%>','det<%=i%>');">
                <strong class="TituloGrandePreto"><%=FranquiaEnderecoUF%></strong> (<span class='CampoPreto' id="det<%=i%>"> + </span>)
                </a>
                  </td>
                </tr>
              <tr>
                <td width="50"> </td>
                <td width="850" align="left" valign="middle">
                    <%
                    TabFranquiaDetalhes = Server.CreateObject("adodb.recordset")
                    sql = "SELECT * FROM Franquia where FranquiaEnderecoUF = '"&FranquiaEnderecoUF&"' Order By FranquiaNomeFantasia ASC"
                    set TabFranquiaDetalhes = Conexao.execute(sql)
                    
                    count = 0
                    While Not TabFranquiaDetalhes.EOF
                    NomeFantasia = TabFranquiaDetalhes("FranquiaNomeFantasia")
                    %>
                    <div class="esconder" id='item<%=i%>'>
                    <!-- Escrevendo os dados de cada Franquia -->
                    <%=NomeFantasia%>
                    <!-- Escrevendo os dados de cada Franquia -->
                    </div>
                <%
                TabFranquiaDetalhes.MoveNext
                Count=Count+1
                Loop
                %>
                </td>
                </tr>
              </table>
              <%
              TabFranquiaGeral.MoveNext
              Count=Count+1
              Loop
                          End IF
%>

Qualquer sugestão é bem vinda.

Desde já agradeço.

Edited by hellxande
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
eu usaria em 2 tabelas. uma para estados e outra para cidades e na pra exibir usaria joins...

como esta seu banco?

Prezado bareta, primeiramente obrigado pela resposta

Seguindo sua sugestão criei uma Tabela para Estados com a seguinte estrutura:

EstadoID

EstadoNome

EstadoSigla

E alterei a Estrutura da Tabela Franquia de forma a tem vinculo com a Tabela Estado, veja abaixo:

FranquiaID

EmpresaID

FranquiaResponsavelNome

FranquiaResponsavelCPF

FranquiaResponsavelRG

FranquiaRazaoSocial

FranquiaNomeFantasia

FranquiaCNPJ

FranquiaIE

FranquiaEndereco

FranquiaEnderecoNumero

FranquiaEnderecoComplemento

FranquiaEnderecoBairro

FranquiaEnderecoCEP

FranquiaEnderecoCidade

EstadoID ' Campo que recebe o Código do Estado

FranquiaEnderecoUF ' Campo que recebe a Sigla do Estado

FranquiaTelefonePrincipal

FranquiaTelefoneSecundario

FranquiaEmail

FranquiaLinkGoogle

FranquiaRestaurante

Porém agora não estou conseguindo montar o Join de forma a apresentar os Estados de Franquias cadastradas fazendo a Distinção das mesmas sem repetir o Estado, porém mostrando os dados cadastrais das mesmas.... heheh

Socorro... heheh

Atenciosamente

Link to comment
Share on other sites

  • 0

Prezado bareta, consegui montar o código ASP para tal situação, porém acredito estar errando no posicionamento do mesmo, ou errando no próprio JavaScript, pois ao clicar no link sempre mostra o mesmo conteúdo, exemplo tenho cadastrado 4 Franquias, sendo 1 para o estado do AC, 1 para o estado da BA e 2 para o estado do PR, mas quando clico no link da BA ou PR apresenta a Franquia do AC.

Segue abaixo o Código completo:

<!--#include file="Conexao.asp" -->
<%
Session.LCID = 1046
Conexao.CursorLocation=3

TabEstado = Server.CreateObject("adodb.recordset")
sql = "SELECT DISTINCT Franquia.FranquiaEnderecoUF FROM Franquia INNER JOIN Estado ON Franquia.EstadoID = Estado.EstadoID ORDER BY Franquia.FranquiaEnderecoUF ASC"
set TabEstado = Conexao.execute(sql)

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="estilo.css" rel="stylesheet" type="text/css" media="all" />

<style>
/*MOSTRANDO E OCULTANDO SERVIÇOS*/
.esconder { display:none; visibility:hidden; }
.mostrar { display:block;Visibility:visible; }
</style>

&lt;script>
/*FUNÇÃO PARA MOSTAR E OCULTAR DETALHES DE UM SERVIÇO*/
var strId = ""; var mosTod = true;
function labelDetalhe(strIdDetalhe,strClasse){ var id = document.getElementById(strIdDetalhe); if(typeof(id) == 'object'){ if(strClasse == 'mostrar'){ id.innerHTML = '<i>-</i>'; }else{ id.innerHTML = '+'; } } }
function mostrarItem(strItem, strIdDet){ var d = document; var obj = d.getElementById(strItem); if(mosTod){ if(obj.className == 'mostrar'){ obj.className = 'esconder'; }else{ obj.className = 'mostrar'; } labelDetalhe(strIdDet, obj.className); strId = strItem; }else{ if(strId == ''){ obj.className = 'mostrar'; strId = strItem; }else if(strId == strItem){ obj.className = 'esconder'; strId = ''; }else{ obj.className = 'mostrar'; d.getElementById(strId).className = 'esconder'; strId = strItem; }        labelDetalhe(strIdDet, obj.className); } }
</script>

</head>

<body>

<%
IF TabEstado.EOF Then
    Response.Write("Nenhuma Pergunta Franquia a ser apresentada !!")
Else
    count = 0
    Do While Not TabEstado.EOF
    UF = TabEstado("FranquiaEnderecoUF")
    
    TabFranquiaDetalhada = Server.CreateObject("adodb.recordset")
    sql = "SELECT * FROM Franquia where FranquiaEnderecoUF = '"&UF&"' ORDER BY FranquiaNomeFantasia ASC"
    set TabFranquiaDetalhada = Conexao.execute(sql)

%>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" id="Franquias">
  <tr>
    <td colspan="2" align="left" valign="middle">
    <a href="java script:void(0);"  onclick="mostrarItem('item<%=i%>','det<%=i%>');">
    <strong class="TituloGrandePreto"><%=UF%></strong> (<span class='CampoPreto' id="det<%=i%>"> + </span>)
    </a>
    </td>
  </tr>
  <tr>
    <td width="50"> </td>
    <td width="850" align="left" valign="middle">

    
    <%
    IF NOT TabFranquiaDetalhada.EOF Then
        count = 0
        Do While Not TabFranquiaDetalhada.EOF
        NomeFantasia = TabFranquiaDetalhada("FranquiaNomeFantasia")
    %>
    <div class="esconder" id='item<%=i%>'>
    <%    Response.Write(""&NomeFantasia&"<br>") %> 
    <%

        TabFranquiaDetalhada.MoveNext
        Count=Count+1
        Loop
    
    Else
    End IF
    %>
    
    </div>
    </td>
  </tr>
</table>
<%
TabEstado.MoveNext
Count=Count+1
Loop
End IF
%>
</body>
</html>

Acredito ser algum erro banal, porém não estou conseguindo identificar, sendo assim qualquer sugestão é bem vinda.

Atenciosamente

Link to comment
Share on other sites

  • 0

Prezado Amigos, gostaria de agradecer a todos que me enviaram sugestões, consegui resolver o problema usando uma dica de outro Forum, sendo assim vou postar aqui o Código Fonte do arquivo de Teste que fiz antes de empregar no Projeto Final de forma a ajudar outras pessoas.

<!--#include file="Conexao.asp" -->
<%
Session.LCID = 1046
Conexao.CursorLocation=3

' Select da Tabela Franquia fazendo a Distinção por Estado
TabFranquiaUF = Server.CreateObject("adodb.recordset")
sql = "SELECT DISTINCT FranquiaEnderecoUF FROM Franquia Order By FranquiaEnderecoUF ASC"
set TabFranquiaUF = Conexao.execute(sql)

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link href="estilo.css" rel="stylesheet" type="text/css" media="all" />

<!-- Carregamento do arquivo JQuery -->
&lt;script type="text/javascript" src="Scripts/jquery.js" /></script>

<!-- Início do Script de apresentação detalhada dos Dados -->
&lt;script type="text/javascript">
$(function(){
    $(".maisdetalhe").click(function(){
        $(".div-oculta").hide();
        $(this).parent().next().show();
        return false;
        });
    });
</script>
<!-- Fim do Script de apresentação detalhada dos Dados -->
</head>
<body>
<table width="950" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td>
<%
' Verifica se o Select retornou vazio ou não
IF TabFranquiaUF.EOF Then
    Response.Write("Nenhuma Pergunta Franquia a ser apresentada !!")
Else
    count = 0
    Do While Not TabFranquiaUF.EOF
    UF = TabFranquiaUF("FranquiaEnderecoUF")
    
    ' Select da Tabela Franquia com base na Variável UF
    TabFranquiaDetalhada = Server.CreateObject("adodb.recordset")
    sql = "SELECT * FROM Franquia where FranquiaEnderecoUF = '"&UF&"' ORDER BY FranquiaNomeFantasia ASC"
    set TabFranquiaDetalhada = Conexao.execute(sql)

%>
<div align="left">
<%
' Início da apresentação das Imagens e Nomes dos Estados
Select Case UF
Case "AC"
    Response.Write("<img src='Imgs\estados\AC.png' width='40' height='24' /> <span class='TituloPequenoPreto'>AC - ACRE</span>")
Case "AL"
    Response.Write("<img src='Imgs\estados\AL.png' width='40' height='24' /> <span class='TituloPequenoPreto'>AL - ALAGOAS</span>")
Case "AP"
    Response.Write("<img src='Imgs\estados\AP.png' width='40' height='24' /> <span class='TituloPequenoPreto'>AP - AMAPÁ</span>")
Case "AM"
    Response.Write("<img src='Imgs\estados\AM.png' width='40' height='24' /> <span class='TituloPequenoPreto'>AM - AMAZONAS</span>")
Case "BA"
    Response.Write("<img src='Imgs\estados\BA.png' width='40' height='24' /> <span class='TituloPequenoPreto'>BA - BAHIA</span>")
Case "CE"
    Response.Write("<img src='Imgs\estados\CE.png' width='40' height='24' /> <span class='TituloPequenoPreto'>CE - CEARÁ</span>")
Case "ES"
    Response.Write("<img src='Imgs\estados\ES.png' width='40' height='24' /> <span class='TituloPequenoPreto'>ES - ESPIRITO SANTO</span>")
Case "GO"
    Response.Write("<img src='Imgs\estados\GO.png' width='40' height='24' /> <span class='TituloPequenoPreto'>GO - GOÍAS</span>")
Case "MA"
    Response.Write("<img src='Imgs\estados\MA.png' width='40' height='24' /> <span class='TituloPequenoPreto'>MA - MARANHÃO</span>")
Case "MT"
    Response.Write("<img src='Imgs\estados\MT.png' width='40' height='24' /> <span class='TituloPequenoPreto'>MT - MATO GROSSO</span>")
Case "MS"
    Response.Write("<img src='Imgs\estados\MS.png' width='40' height='24' /> <span class='TituloPequenoPreto'>MS - MATO GROSSO DO SUL</span>")
Case "MG"
    Response.Write("<img src='Imgs\estados\MG.png' width='40' height='24' /> <span class='TituloPequenoPreto'>MG - MINAS GERAIS</span>")
Case "PA"
    Response.Write("<img src='Imgs\estados\PA.png' width='40' height='24' /> <span class='TituloPequenoPreto'>PA - PARÁ</span>")
Case "PB"
    Response.Write("<img src='Imgs\estados\PB.png' width='40' height='24' /> <span class='TituloPequenoPreto'>PB - PARAIBA</span>")
Case "PR"
    Response.Write("<img src='Imgs\estados\PR.png' width='40' height='24' /> <span class='TituloPequenoPreto'>PR - PARANÁ</span>")
Case "PE"
    Response.Write("<img src='Imgs\estados\PE.png' width='40' height='24' /> <span class='TituloPequenoPreto'>PE - PERNAMBUCO</span>")
Case "PI"
    Response.Write("<img src='Imgs\estados\PI.png' width='40' height='24' /> <span class='TituloPequenoPreto'>PI - PIAUÍ</span>")
Case "RJ"
    Response.Write("<img src='Imgs\estados\RJ.png' width='40' height='24' /> <span class='TituloPequenoPreto'>RJ - RIO DE JANEIRO</span>")
Case "RN"
    Response.Write("<img src='Imgs\estados\RN.png' width='40' height='24' /> <span class='TituloPequenoPreto'>RN - RIO GRANDE DO NORTE</span>")
Case "RS"
    Response.Write("<img src='Imgs\estados\RS.png' width='40' height='24' /> <span class='TituloPequenoPreto'>RS - RIO GRANDE DO SUL</span>")
Case "RO"
    Response.Write("<img src='Imgs\estados\RO.png' width='40' height='24' /> <span class='TituloPequenoPreto'>RO - RONDÔNIA</span>")
Case "RR"
    Response.Write("<img src='Imgs\estados\RR.png' width='40' height='24' /> <span class='TituloPequenoPreto'>RR - RORAIMA</span>")
Case "SC"
    Response.Write("<img src='Imgs\estados\SC.png' width='40' height='24' /> <span class='TituloPequenoPreto'>SC - SANTA CATARINA</span>")
Case "SP"
    Response.Write("<img src='Imgs\estados\SP.png' width='40' height='24' /> <span class='TituloPequenoPreto'>SP - SÃO PAULO</span>")
Case "SE"
    Response.Write("<img src='Imgs\estados\SE.png' width='40' height='24' /> <span class='TituloPequenoPreto'>SE - SERGIPE</span>")
Case "TO"
    Response.Write("<img src='Imgs\estados\TO.png' width='40' height='24' /> <span class='TituloPequenoPreto'>TO - TOCANTINS</span>")
Case Else
    Response.Write("<img src='Imgs\estados\DF.png' width='40' height='24' /> <span class='TituloPequenoPreto'>DF - DISTRITO FEDERAL</span>")
End Select
' Fim da apresentação das Imagens e Nomes dos Estados
%>
( <a class="maisdetalhe" href="#">+</a> ) </div>
<div align="center" class="div-oculta" style="display:none;">
<%
' Verifica se existem dados detalhado a serem apresentados
    IF NOT TabFranquiaDetalhada.EOF Then
        count = 0
        Do While Not TabFranquiaDetalhada.EOF
        NomeFantasia = TabFranquiaDetalhada("FranquiaNomeFantasia")
        Endereco = TabFranquiaDetalhada("FranquiaEndereco")
        EnderecoNumero = TabFranquiaDetalhada("FranquiaEnderecoNumero")
        EnderecoComplemento = TabFranquiaDetalhada("FranquiaEnderecoComplemento")
        EnderecoBairro = TabFranquiaDetalhada("FranquiaEnderecoBairro")
        EnderecoCEP = TabFranquiaDetalhada("FranquiaEnderecoCEP")
        EnderecoCidade = TabFranquiaDetalhada("FranquiaEnderecoCidade")
        EnderecoUF = TabFranquiaDetalhada("FranquiaEnderecoUF")
        Telefone = TabFranquiaDetalhada("FranquiaTelefonePrincipal")
        Email = TabFranquiaDetalhada("FranquiaEmail")
        Link = TabFranquiaDetalhada("FranquiaLinkGoogle")
        
        ' Início da monta um nova Tabela para apresentar os Dados detalhados de cada Franquia, usando as variáveis acima
        Response.Write("<br><table width='900' border='0' align='center' cellpadding='0' cellspacing='0' id='Apresentacao'><tr><td align='left' valign='middle' class='TituloPequenoPreto'>"&NomeFantasia&"</td></tr><tr><td align='left' valign='middle' class='CampoPreto'>"&Endereco&" - "&EnderecoNumero&" - "&EnderecoComplemento&"</td></tr><tr><td align='left' valign='middle' class='CampoPreto'>"&EnderecoBairro&" - "&EnderecoCEP&" - "&EnderecoCidade&" - "&EnderecoUF&"</td></tr><tr><td align='left' valign='middle' class='CampoPreto'>"&Telefone&"</td></tr><tr><td align='left' valign='middle' class='CampoPreto'>"&Email&"</td></tr><tr><td align='right' valign='middle' class='CampoPreto'>Localize no Google Maps <a href='"&Link&"' target='_new'><img src='Imgs/mapa.png' width='20' height='20' /></a></td></tr><tr><td align='left' valign='middle' class='CampoPreto'> </td></tr><tr><td><hr /></td></tr></table>")
        ' Fim da monta um nova Tabela para apresentar os Dados detalhados de cada Franquia, usando as variáveis acima
        
        TabFranquiaDetalhada.MoveNext
        Count=Count+1
        Loop
    
    Else
    End IF
%>
</div>
<%
TabFranquiaUF.MoveNext
Count=Count+1
Loop
End IF
%>
    </td>
  </tr>
</table>
</body>
</html>

Novamente obrigados a todos.

Atenciosamente

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...