111 messaggi dal 03 marzo 2003
Salve, stò cercando la soluzione a questo:
Ho un database access con dei dati di prodotti per il settore alberghiero, per cui forni, friggitrici, impastatrici ecc.

le tabelle del database:
ID Tipo scat novita usato titolo
1 preparazione impastatrici off off Modello xxx
2 cottura forni off off Modello sss
3 preparazione impastatrici off off Modello aaa

in pratica ho le varie fasi di lavoro:
preparazione - cottura - lavaggio ecc
a cui corrispondono delle sottocategorie (scat)

nella visualizzazione del catalogo on line devo mostrare le categorie e sottocategorie con i link verso le schede del prodotto.

In pratica sul sito viene visualizzato:

Preparazione
* impastatrici (link verso la lista di tutte le impastatrici)
* tagliaverdure (link verso la lista di tutte i tagliaverdure)
ecc

Ho creato questo script di visualizzazione richiamato dal link
prodotti.asp?tipo=Preparazione

<%
set conn = server.createobject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("public/database.mdb")
conn.Open DSNtemp
sqlstmt = "SELECT * FROM annunci"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sqlstmt, conn, 3, 3
%>

<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600">
<tr>
<td width="294" valign="top" style="border-left-width: 1; border-right-style: dotted; border-right-width: 1; border-top-width: 1; border-bottom-width: 1">
<center>
<font size=2 face=verdana>

<b>Scegli prodotto NUOVO:</b> </center>
<hr size=1 color=red width="80%">

<%
dim tipo
tipo = Request.QueryString("tipo")
%>

<%
sqlcount = "SELECT count(ID) FROM annunci where tipo='" & tipo & "' and usato='off' "
Set RScounts = Conn.Execute(sqlcount)
rcounts = RScounts(0)
%>
<% If rcounts <> "0" then %>
<li><b><%=tipo%></b>

<%
sqlcount = "SELECT count(ID) FROM annunci where tipo='" & tipo & "' and usato='off' "
Set RScounts = Conn.Execute(sqlcount)
rcounts = RScounts(0)
%>

<% If rcounts <> "0" then %>

<%
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from annunci where tipo='" & tipo & "' AND usato='off' order by id DESC", conn
Do while NOT RS.EOF
%>

<%
Dim scat, id
scat=rs("scat")
id=rs("id")
%>

<dd><li><a href="lista.asp"><%=scat%>.id=<%=id%></a>

<%
RS.MoveNext
Loop

RS.Close
Set RS = Nothing
conn.Close
Set conn=Nothing
%>

<% end if %>
<% end if %>

In questo modo estrae le sottocategorie ma se ci sono 2 o più articoli con sottocategoria uguale me la scrive + volte.

nel caso del database di esempio mi scrive

Preparazione
* impastatrici
* impastatrici

Come posso far estrarre la sottocategoria una sola volta???

Spero di essermi spegato bene...

Grazie
Gab ;))
36 messaggi dal 08 marzo 2004
Non sono sicuro però secondo me dovresti aggiungere nella query di selezione il parametro di aggregazione.... in pratica se vede 2 dati uguali te ne mostra solo uno perchè li aggrega. Quindi se ci sono 2 parole uguali te ne mostra solo una.

Spero di esserti stato d'aiuto almeno come spunto :-)

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.