Ir para conteúdo

POWERED BY:

Arquivado

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

wilnet

[Resolvido] Validar instrução SQL

Recommended Posts

Olá colegas, já por dias estou quebrando a cabeça para finalizar este serviço para a empresa que estou trabalhando.

 

Funciona basicamente assim, tem uma página onde lista todos os PRODUTOS por "Categoria" e "SubCategorias", somente as "SubCategorias" possui link's que ao ser clicados abre uma nova página listando todos os produtos dessa "SubCategorias".

 

Até ai, já consegui fazer, só não estou conseguindo de forma alguma, fazer listar as "SubCategorias" quando é clicada.

 

Por exemplo: eu clico em uma "SubCategoria" ela até carrega a proxima página, mas só aparece o nome da "Categoria" e não aparece os produtos das "SubCategorias" fica em branco, como se não tivesse nenhum registro.

 

Com certeza, acredito que estou errando na hora de montar a instrução de "SQL" ao passar esse link.

 

Estou passando abaixo a relação de tudo caso algum colega se interesse em me ajudar nessa solução... GRATO.

 

 

Estrutura da Base de dados: Access (.mdb)

 

 

Tabela: TipoProdutos

Campos: id (Numeração Automática) – Chave Primária

Tipo: (Texto)

 

Tabela: Sub_Produtos

Campos: id_sub_prod (Numeração Automática) – Chave Primária

Id_prod (Número)

Produto (Texto)

Click (Número)

 

Tabela: Fotos

Campos: id (Numeração Automática) – Chave Primária

tipo_produtos (Número)

 

 

Na Tabela “TipoProdutos” faço o cadastro das CATEGORIAS;

Na Tabela “Sub_Produtos” faço o cadastro das SUB CATEGORIAS;

Na Tabela “Fotos” faço o cadastro das fotos e descrição de cada produto a ser CONSULTADO.

 

 

Páginas “produtos.asp”

<div id="listagem">
	<div class="cat">
	<%
	Dim categoria
	Dim sub_cat
		cont = 1
set categoria = banco_DB.Execute("select * from tipoProdutos ORDER BY tipo ASC;")
	'while not categoria.EOF

	do while not categoria.eof 
set sub_cat= banco_DB.Execute("select * from sub_produtos where id_prod="&categoria("id")&"")
			
set cot= banco_DB.Execute("select count(produto) as soma from sub_produtos where id_prod="&categoria("id")&"")
			%>	  
		<div><strong> [code];<%=categoria("tipo")%> (<%=cot("soma")%>)</strong>
			<ul>
<%
	do while not sub_cat.eof 
      %>
	<li style="border-bottom:1px dotted #000000;"><p class="barNav">[/code]
[center][color="#0000FF"][b]Aqui é onde fica o link das "SubCategorias" que ao ser clicado monta a próxima página que é a "listar.asp"[/b][/color][/center]
[code]<a href="./listar.asp?lista=categoria&tipo_produtos=<%=categoria("id")%>&prod_nome=<%=sub_cat("produto")%>&sub_id=<%=sub_cat("id_sub_prod")%>"><%=sub_cat("produto")%></a></p></li>              
	<% sub_cat.movenext
loop
%>		  </ul>
	  </div><!-- /categoria -->
<% 
  categoria.movenext 
if (cont = 2 or cont = 4 or cont = 5) then 'Deixar com três colunas
'if (cont = 1 and cont = 2 or cont = 20) then 'Deixar só com uma coluna
%>	</div><!-- /cat -->
	<div class="cat">
	  <p>
<%	
	End if
	cont = cont +1	
	loop

'completa as colunas 

'categoria.MoveNext
'Wend
      categoria.Close
	set categoria = Nothing
%>	</div><!-- /cat -->
</div>[/code]


[b]Página “listar.asp”[/b][color="#0000FF"][/color]

[code]<%
Dim lista,prod_id,prod_nome,nome,prod_fotoloja,lista_produtos
lista=Request.querystring("lista")
prod_id=Request.querystring("prod_id")
id_sub = request.querystring("sub_id")
prod_nome=Request.querystring("prod_nome")
tipo=Request.querystring("tipo")
prod_foto=Request.querystring("foto")

set contar2 = banco_DB.Execute("select * from sub_produtos where id_sub_prod="&id_sub&" ")

if not contar2.eof then
session("contar") = contar2("click")
end if

%>
<body leftmargin="0" topmargin="0">
<table width=100%>
  <tr>
    <td><table width="100%" border="0">
        <tr> 
          <td width="15%"><div align="center"><a class=link3 href="index.asp">Voltar</a><br>
                  </div></td>
          <td width="40%" valign="top"><div align="center"> <h2><%=prod_nome%></h2></div></td>
          <td width="31%" valign="top"><div align="center">Nº de Visita desta 
              Página: (<%=session("contar")%>) </div></td>
        </tr>
      </table>
</td></tr>

<%
Select Case lista
Case "categoria"
set lista_produtos = banco_DB.Execute("SELECT * FROM fotos WHERE id="& id_sub &" AND cad_ok='S'  ORDER BY RND(INT(NOW*id)-NOW*id)")
set contar = banco_DB.Execute("select * from sub_produtos where id_sub_prod="&id_sub&" ")
if contar.eof then
soma = 0
set atualiza = banco_DB.Execute("UPDATE sub_produtos set click="&soma&" WHERE id_sub_prod=" & id_sub)
else
soma = contar("click") 
soma = soma + 1
set atualiza = banco_DB.Execute("UPDATE sub_produtos set click="&soma&" WHERE id_sub_prod=" & id_sub)
end if


'
'("update sub_categorias set  where id_sub_cat="&id_sub&" ")
Case "busca"
set lista_produtos = banco_DB.Execute("SELECT * FROM fotos WHERE descricao LIKE '%"& descricao &"%' OR id LIKE '%"& id &"%' ORDER BY RND(INT(NOW*id)-NOW*id)")
	
Case Else
	%>	<script>window.location="./produtos.asp"</script>
	<%
End Select
If lista_produtos.EOF Then 
	%><br>
	<table width="60%" height="70" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#ccddcc">
                    <tr> 
                      <td height="23" bgcolor="#fafafa"> 
                        <div align="center"><font color="#336699"><b><font size="2">Infelizmente ainda não temos nenhum registro para esta Categoria.</b></font></div><br></td>
                    </tr>
                    <tr>
                      <td height="23" bgcolor="#fafafa"><br> 
                        <div align="center"><font color="#ff0000"><font size="2">Você<b> EMPRESÁRIO</b> ou <b>COMERCIANTE,</b> não perca a oportunidade de divulgar seu <b>PRODUTO</b> ou sua <b>MARCA,</b> se você chegou até aqui, seu <b>CLIENTE</b> também chegará.<br><b>Você também merece mais este novo serviço que chegou até você.</b><br><a class=link href="servico.asp"><b>Clique aqui,</b></a> e começe logo sua divulgação.</font></div><br></td>
                    </tr>
			<tr>
                      <td><div align="center">
</div></td>
                    </tr>
                  </table>
<%
Else 
%>
	<tr width=100%> 
  <td width=100%><table width=100% cellpadding="1" cellspacing="0" bordercolor="#FAFAFA"rcolor=White><th></thead>
	<%
	Dim prod_prod_id,prod_descricao,prod_foto,temp1
	
	while not lista_produtos.EOF
		prod_prod_id = lista_produtos("prod_id")
		prod_id = lista_produtos("id")
		prod_descricao = lista_produtos("descricao")
		prod_foto = lista_produtos("foto")
		%>
		<table width=97% border=0 cellpadding="2" cellspacing="0"  style="border-top:1px dotted #0033ff; border-right:1px dotted #0033ff;border-left:1px dotted #0033ff;">
              <tr> 
                <td width="77%"><table width="100%" border="0" cellpadding="0" cellspacing="0"style=" border-right:1px dotted #0033ff;">
                    <tr> 
                      <td height="20" colspan="2" bgcolor="#F0F5F9"> 
                        <div align="center"><strong><font color="#ff0000"><b>¤</b></font> <font color="#336699"><%=prod_descricao%> <font color="#ff0000"><b>¤</b></font></div></td>
                      <td width="5%" bgcolor="#F0F5F9"><div align="right">

</div>
</td>
                    </tr>
					<tr> 
 <td height="22" colspan="3"> <div align="left"><strong>End:</strong> 
<font color="ff0000"></div>
                       </td>
                    </tr>
                    

		     <tr> 
                      <td height="22" colspan="3"><strong>Descr:</strong> <%=prod_descricao%>
                       </td>
                    </tr>

                  </table><br>
                  </td>
                <td width="23%"><table width="90%" height="90" border="1" align="center" cellpadding="1" cellspacing="0"bordercolor="#ccddcc">
                    <tr> 
                      <td height="23" bgcolor="#fafafa"> 
  
<%
'Faz a verificação da FotoLoja, caso não tenha, mostra img de foto não disponivel

      If lista_produtos("foto") <> "" Then
      %>
            <div align="center">
<img src="foto/Thumbs/<%=lista_produtos("foto")%>"></div>
              
            <% 
	  else
	   %>
            <div align="center"><img src="foto/Thumbs/n_pq.jpg" border=0></div>
 
              <% end if %>
</td></tr> 

                  </table>
<%
'Faz a verificação da FotoLoja, caso tenha, mostra Ampliação

      If lista_produtos("foto") <> "" Then
      %>            <div align="center">
<a href="javascript:janela_amplia('../Foto/<%=lista_produtos("foto")%>')">
<b>¤ Ampliar Foto ¤</b></a></div>

		<% end if %>  

</td></tr>
		</table>
		</tr>
		<%
		temp1 = temp1 + 1
		lista_produtos.movenext
	wend
End If
lista_produtos.Close

' destrói os objetos
Set lista_produtos = nothing 
%></table></td></tr>
</table><hr>

<table width="100%" border="0" bgcolor="#ffaa33">
  <tr>
     <td width="58%"><font color="#000000"> <b>Total de registro desta categoria:</b><strong> 
      <%=temp1%></strong></font></td>
    <td width="42%"><a href="#"><b>Subir</b></a></td>
  </tr>
</table>

Bem acho que é isso, procurei relacionar da melhor forma possível.

 

Apreciaria muito mesmo, se os amigos pelo menos desse uma verificada, e me orienta-se onde estou errando.

 

Apenas relembrando novamente, é somente na hora que ao clicar na "SubCategoria" da página "produtos.asp" ela até carrega a página "listar.asp" mas só exibe o nome da "categoria" e não lista os produtos da "SubCategoria" é isso.

 

Mais uma vez... obrigado por qualquer ajuda dada.

 

William

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria possível postar um URL para visualizarmos o funcionamento?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon... obrigado pela a atenção, mas parece que já consegui ak ok.

 

Fiz algumas aterações e estou fazendo teste e aparentemente está rodando como eu queria.

 

Fiz assim:

 

Na Base de Dados, criei mais um Campo o que está em vermelho:

 

Tabela: Fotos

Campos: id (Numeração Automática) – Chave Primária

prod_id: (numero)

tipo_produtos (Número)

 

E no Select da página "Listar.asp" alterei a linha:

 

set lista_produtos = banco_DB.Execute("SELECT * FROM fotos WHERE id="& id_sub &" AND cad_ok='S'

Para:

 

set lista_produtos = banco_DB.Execute("SELECT * FROM fotos WHERE tipo_produtos="& id_sub &" AND cad_ok='S'

Agora como disse, já me lista os produtos, tem uns errinhos mas agora eu me viro...

 

Muito obrigado a todos assim msm amigos..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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