BANCO DE DADOS ACCESS
Estou começando a desenvolver um site para loja de roupas e estou com uma dúvida com relação ao Banco de Dados,
Vou usar o Access mesmo, mas na criação das Tabelas é que estou tendo um pouco de dificuldade ex:
A loja vende roupas, e uma Calça do mesmo Modelo tem vários Tamanhos e cada Tamanho tem um preço.
Quando eu der um Loop para preencher os Produtos não pode aparecer todas as Calças e sim apenas um modelo de cada
e ao lado os tamanhos, e ao clicar no tamanho o sistema busca o Produto.
Como seria estas tabelas????
Não sei se fui claro
Claudiney
www.cassystems.com.br
[Ô]não pode aparecer todas as Calças e sim apenas um modelo de cada[Ô] >> Então você vai ter que filtrar por PRODUCT_NAME.
Por exemplo: WHERE PRODUCT_NAME = [ô]calça jeans[ô]
[Ô]ao clicar no tamanho o sistema busca o Produto[Ô] >> Clicando no produto você já terá o PRODUCT_ID, aà é só buscar na tabela estoque para saber quantos tem.
Boa sorte e, qualquer problema, poste a dúvida novamente.
Flima.
nao recomendaria loop, se vc for fazer usando 1 tabela
vamos dizer que vc tem um Form html , com campos que ira filtrar , e nele vc executa metodo Post .
o arquivo ASP que ira processar poderia fazer essa consulta assim
Citação:vTipo = request.form([Ô]Tipo[Ô])
vTamanho = request.form([Ô]Tamanho [Ô])
vModelo = request.form([Ô]Modelo[Ô])
sql = [Ô]SELECT * FROM Produtos WHERE Tipo like [ô]%[Ô] & vTipo & [Ô]%[ô] and Tamanho like [ô]%[Ô] & vTamanho & [Ô]%[ô] and Modelo like [ô]%[Ô] & vModelo & [Ô]%[ô] order by Modelo, Tamanho desc[Ô]
Set rs = Server.CreateObject([Ô]ADODB.Recordset[Ô])
rs.Open sql, Conn, 3, 3
na questao do Loop . use ele somente pra fazer a questao de paginacao ... que será o restante do codigo
assim se tiver 30 registros ...... vc pagina ele de 10 em 10 .... fica melhor
A loja vende uniformes escolares, e ao selecionar uma [Ô]Escola[Ô] quero que preencha todos os [Ô]Modelos de uniformes[Ô] que esta escola possui: camiseta, calça, short, blusa, ... com as respectivas [Ô]Fotos[Ô], sem repetir dados pois se eu cadastrar tudo em uma tabela quando preencher virá todas camiseta p,m,g,gg ou seja [Ô]imagens repetidas[Ô] com identificação diferentes.
Pensei em usar duas tabelas, uma [Ô]Modelos[Ô] com os modelos de cada escola: calça, camiseta..., ao clicar na escola preenche a pagina com os modelos, e uma tabela [Ô]Produtos[Ô] com dados do produto como: descrição,valor, tamanho e relacionada a Modelos.
mas ta ruim de fazer isso, ainda mais as 17:00 h kkkkkkkkk...........
Claudiney
www.cassystems.com.br
Não da pra entender o que vc nao quer que repita ....
O que vc nao quiser que repita ou escolher 1 campo consultado esse vira com request
Citação:
<!--#include file=[Ô]abreconn.asp[Ô]-->
<html>
<head>
<title>Modelos de uniformes</title>
</head>
<body bgcolor=red leftmargin=[Ô]0[Ô] topmargin=[Ô]0[Ô] marginwidth=[Ô]0[Ô]>
<font face=[Ô]Comic Sans MS[Ô]>
<table width=[Ô]100%[Ô] border=1 border=[Ô]1[Ô] cellpadding=[Ô]0[Ô] cellspacing=[Ô]0[Ô] bordercolor=Black>
<[ô]%
set rsescolas=conexao.execute([Ô]select * from escolas ORDER BY nomeescola[Ô])
while not rsescolas.eof
response.write [Ô]<tr><td align=[ô]center[ô]><font size=+2>[Ô] & rsescolas([Ô]nomeescola[Ô]) & [Ô]</font></td></tr>[Ô]
set rsmodelos=conexao.execute([Ô]select * from modelos where cod_escola = [Ô] & rsescolas([Ô]cod_escola[Ô]))
response.write [Ô]<tr><td><table border=1 width=[ô]100%[ô] bordercolor=Black>[Ô]
response.write [Ô]<tr>[Ô]
response.write [Ô]<td><b>Modelo</b></td>[Ô]
response.write [Ô]<td><b>Peça da Roupa</b></td>[Ô]
response.write [Ô]<td><b>Cor</b></td>[Ô]
response.write [Ô]<td><b>Valor</b></td>[Ô]
response.write [Ô]<td><b>Foto</b></td>[Ô]
response.write [Ô]</tr>[Ô]
while not rsmodelos.eof
response.write [Ô]<tr>[Ô]
response.write [Ô]<td>[Ô] & rsmodelos([Ô]modelo[Ô]) & [Ô]</td>[Ô]
response.write [Ô]<td>[Ô] & rsmodelos([Ô]pecaderoupa[Ô]) & [Ô]</td>[Ô]
response.write [Ô]<td>[Ô] & rsmodelos([Ô]cor[Ô]) & [Ô]</td>[Ô]
response.write [Ô]<td>[Ô] & rsmodelos([Ô]tamanho[Ô]) & [Ô]</td>[Ô]
response.write [Ô]<td>[Ô] & rsmodelos([Ô]valor[Ô]) & [Ô]</td>[Ô]
response.write [Ô]<td>[Ô]
if not isNull(rsmodelos([Ô]foto[Ô])) then
response.write [Ô]<a href=[ô][Ô] & rsmodelos([Ô]foto[Ô]) & [Ô][ô]><img src=[ô][Ô] & rsmodelos([Ô]foto[Ô]) & [Ô][ô] width=50 heigth=50></a>[Ô]
end if
response.write [Ô]</td>[Ô]
response.write [Ô]</tr>[Ô]
rsmodelos.movenext
wend
response.write [Ô]</tr></td></table>[Ô]
rsescolas.movenext
wend
%[ô]>
</table>
</body>
</html>
<!--#include file=[Ô]fechaconn.asp[Ô]-->
[Ô]cod:01[Ô], [Ô]camiseta manga curta[Ô], [Ô]tam P[Ô] , [Ô]25,00[Ô] , [Ô]foto x.png[Ô]
[Ô]cod:02[Ô], [Ô]camiseta manga curta[Ô], [Ô]tam M[Ô] , [Ô]26,00[Ô] , [Ô]foto x.png[Ô]
[Ô]cod:03[Ô], [Ô]camiseta manga curta[Ô], [Ô]tam G[Ô] , [Ô]27,00[Ô] , [Ô]foto x.png[Ô]
[Ô]cod:04[Ô], [Ô]camiseta manga curta[Ô], [Ô]tam P[Ô] , [Ô]28,00[Ô] , [Ô] foto x.png[Ô]
Todas são [Ô]camisetas manga curta[Ô] com a mesma [Ô]foto[Ô]
Quando eu clico no link de uma determinada escola [Ô]Escola A[Ô]:
<a href=[Ô]listaprod.asp?lista=categoria&cat_id=<%=recTabela([Ô]id[Ô])%>&cat_nome=<%=recTabela([Ô]nome[Ô])%>&cat_foto=<%=recTabela([Ô]foto[Ô])%>[Ô]>
em listaproduto.asp:
<%
Dim lista,cat_id,cat_nome,nome,lista_produtos,msgnada,cat_foto
lista=Request.querystring([Ô]lista[Ô])
cat_id=Request.querystring([Ô]cat_id[Ô])
cat_nome=Request.querystring([Ô]cat_nome[Ô])
nome=Request.querystring([Ô]nome[Ô])
cat_foto=Request.querystring([Ô]cat_foto[Ô])
%>
<%
Select Case lista
Case [Ô]categoria[Ô]
set lista_produtos = conConecta.Execute([Ô]SELECT * FROM produtos WHERE cat_id=[Ô]& cat_id &[Ô] AND disp=[ô]S[ô] ORDER BY nome[Ô])
msgnada = [Ô]No momento não dispomos de nenhum produto neste departamento.[Ô]
Case [Ô]busca[Ô]
set lista_produtos = conConecta.Execute([Ô]SELECT * FROM produtos WHERE nome LIKE [ô]%[Ô]& nome &[Ô]%[ô] OR descricaop LIKE [ô]%[Ô]& nome &[Ô]%[ô] OR descricaog LIKE [ô]%[Ô]& nome &[Ô]%[ô] OR preco LIKE [ô]%[Ô]& nome &[Ô]%[ô] OR imagem LIKE [ô]%[Ô]& nome &[Ô]%[ô] AND disp=[ô]S[ô] ORDER BY nome[Ô])
msgnada = [Ô]Infelizmente não localizamos nenhum produto com esse nome.[Ô]
Case Else
%>
<script>window.location=[Ô]produtos.asp[Ô]</script>
<%
End Select
If lista_produtos.EOF Then
Response.Write [Ô]<tr><td><h4>[Ô] & msgnada & [Ô]</h4></td></tr>[Ô]
Else
%>
<%
Dim prod_cat_id,prod_id,prod_nome,prod_codigo,prod_imagem,prod_descricaop,prod_descricaog,prod_preco,prod_categoria,malha1
while not lista_produtos.EOF
prod_cat_id = lista_produtos([Ô]cat_id[Ô])
prod_id = lista_produtos([Ô]id[Ô])
prod_nome = lista_produtos([Ô]nome[Ô])
prod_codigo = lista_produtos([Ô]codigo[Ô])
prod_descricaop = lista_produtos([Ô]descricaop[Ô])
prod_descricaog = lista_produtos([Ô]descricaog[Ô])
prod_preco = lista_produtos([Ô]preco[Ô])
prod_imagem = lista_produtos([Ô]imagem[Ô])
prod_categoria = lista_produtos([Ô]categoria[Ô])
%>
<table width=[Ô]819[Ô] border=[Ô]0[Ô] cellspacing=[Ô]0[Ô] cellpadding=[Ô]0[Ô]>
<tr>
<td>Código:</td>
<td width=[Ô]256[Ô]><font color=[Ô]#333333[Ô]><b><%=prod_codigo%></b></td>
</tr>
<tr>
<td>Produto:</td>
<td width=[Ô]256[Ô]><%=prod_nome%></td>
</tr>
<tr>
<td>Comp.:</td>
<td width=[Ô]256[Ô]><%=prod_descricaop%></td>
</tr>
<tr>
<td>Tam.:</td>
<td width=[Ô]256[Ô]><%=prod_descricaog%></td>
</tr>
<tr>
<td>Preço:</td>
<td width=[Ô]256[Ô]><font color=[Ô]red[Ô]><b><%=FormatCurrency(prod_preco)%></b></td>
</tr>
<tr>
<td>Categoria:</td>
<td width=[Ô]256[Ô]><font color=[Ô]#333333[Ô]><b><%=prod_categoria%></b></td>
</tr>
</table>
<table width=[Ô]820[Ô] border=[Ô]0[Ô] cellspacing=[Ô]0[Ô] cellpadding=[Ô]0[Ô] >
<tr>
<td height=[Ô]8[Ô]></td>
</tr>
</table>
<table width=[Ô]820[Ô] border=[Ô]0[Ô] cellspacing=[Ô]0[Ô] cellpadding=[Ô]0[Ô] background=[Ô]imagens/pontinho02.gif[Ô]>
<tr>
<td height=[Ô]8[Ô]></td>
</tr>
</table>
<table width=[Ô]820[Ô] border=[Ô]0[Ô] cellspacing=[Ô]0[Ô] cellpadding=[Ô]0[Ô] >
<tr>
<td height=[Ô]8[Ô]></td>
</tr>
</table>
<%
lista_produtos.movenext
wend
%>
<%
End If
lista_produtos.Close
set lista_produtos = Nothing
%>
</td>
</tr>
</table>
isso esta funcionando mas como eu disse eu estou salvando em uma tabela [Ô]produto[Ô] todos os dados, mas abre todos os produtos da escola, ou seja:
[Ô]cod:01[Ô], [Ô]camiseta manga curta[Ô], [Ô]tam P[Ô] , [Ô]25,00[Ô] , [Ô]foto x.png[Ô]
[Ô]cod:02[Ô], [Ô]camiseta manga curta[Ô], [Ô]tam M[Ô] , [Ô]26,00[Ô] , [Ô]foto x.png[Ô]
[Ô]cod:03[Ô], [Ô]camiseta manga curta[Ô], [Ô]tam G[Ô] , [Ô]27,00[Ô] , [Ô]foto x.png[Ô]
[Ô]cod:04[Ô], [Ô]camiseta manga curta[Ô], [Ô]tam P[Ô] , [Ô]28,00[Ô] , [Ô] foto x.png[Ô]
sendo que eu preciso que saia apenas o:
[Ô]cod:01[Ô], [Ô]camiseta manga curta[Ô], [Ô]tam P[Ô] , [Ô]25,00[Ô] , [Ô]foto x.png[Ô]
e com as opções de o cliente escolher o tamanho, consequentemente se ele optar pelo tamanho [Ô]G[Ô] o produto seria outro e o valor seria outro
é possivel fazer isso em uma Tabele apenas.
Claudiney
www.cassystems.com.br
Uma sugestão simples, seria você fazer uma normalização dos dados, de forma que se evite a repetição no cadastro de produtos.
Dá uma olhada no exemplo e veja se te ajuda.
Esta meio dificil de entender .....
altere esse comecei pra que podemos entendermos melhor sua duvida
depois voce sob novamente , o arquivo ja com seu sua adaptacao
dizendo o que pretende emcima das alterações que vc fizer , e o que nao deu certo .
é isso mesmo. Quando for jogar no carrinho de compras na verdade usarei o código [Ô]Tamanho_ID[Ô] pois sera o meu produto, e o Produto_ID será apenas os modelos.
Valeu a todos pela ajuda, obrigado!
Claudiney
www.cassystems.com.br