19 messaggi dal 02 gennaio 2004
Ho scaricato un'applet da internet contenente un menu verticale con sottomenu.
Dovrei riempire i menu da due tabelle di access 2000 es.:
Tab 1 = Settori
contenente due record:
001 Finanziario
002 Demografico
Tab 2 = Servizi
001 Ragioneria (codice settore 001)
002 Economato (codice settore 001)
003 Anagrafe (codice settore 002)
004 Elettorale (codice settore 002)

Le tabelle sono in relazione uno a molti tramite il SetCodSettore che è la chiave primaria della tabella Settori e SerCodSettore della tabella Servizi

Il Problema è che non riesco a visualizzare il menu nel modo desiderato e cioè il settore Finanziario dovrebbe avere come sottomenu i servizi Ragioneria ed Economato mentre il Settore Demografico dovrebbe avere come sottomenu i servizi Anagrafe ed Elettorale.

Il codice creato con dreamweaver mx è il seguente:
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/con_tel.asp" -->
<%
Dim rsSettori
Dim rsSettori_numRows

Set rsSettori = Server.CreateObject("ADODB.Recordset")
rsSettori.ActiveConnection = MM_con_tel_STRING
rsSettori.Source = "SELECT * FROM Settori"
rsSettori.CursorType = 0
rsSettori.CursorLocation = 2
rsSettori.LockType = 1
rsSettori.Open()

rsSettori_numRows = 0
%>

<%
Dim rsServizi

%>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td><applet width="210" height="900" code="DropDownMenu.class"
codebase="." style="border: 0px solid rgb(64,0,0)">
<param name="ROOT" value="Comune AP;STATE=EXPANDED;TARGET=main">
<param name="SITEMAP"
value="
<% do while NOT rsSettori.EOF %>
<%=(rsSettori.Fields.Item("SetDescSettore").Value)%>

{

<%
Set rsServizi = Server.CreateObject("ADODB.Recordset")
rsServizi.ActiveConnection = MM_con_tel_STRING
rsServizi.Source = "SELECT * FROM Servizi WHERE SerCodServizio ='" & rsSettori.Fields.Item("SetCodSettore").Value & "'"

rsServizi.CursorType = 0
rsServizi.CursorLocation = 2
rsServizi.LockType = 1
rsServizi.Open()
While NOT rsServizi.EOF
%>
<%=(rsServizi.Fields.Item("SerDescServizio").Value)%>;URL=http://www.html.it/;TARGET=contents
<%
rsServizi.Movenext
Wend
rsServizi.Close
Set rsServizi = Nothing
%>
}
<% rsSettori.movenext %>
<% loop %>
">
<param name="STYLE" value="3DINVERSE">
<param name="FONTFACE" value="Arial">
<param name="FONTSIZE" value="14">
<param name="FONTSTYLE" value="bold">
<param name="SUBFONTFACE" value="Arial">
<param name="SUBFONTSIZE" value="12">
<param name="SUBFONTSTYLE" value="plain">
<param name="BACKGROUND_COLOR" value="FAFAFA">
<param name="FONT_COLOR" value="0101A5">
<param name="HIGHLIGHT_COLOR" value="FF0000">
<param name="TRIANGLE_UP_COLOR" value="FFCC00">
<param name="TRIANGLE_DOWN_COLOR" value="CC0000">
<param name="TRIANGLE_OFFSET" value="5">
<param name="TRIANGLE_WIDTH" value="10">
<param name="BGIMAGE_ALIGN" value="center">
<param name="BGIMAGE_VALIGN" value="center">
<param name="defaulttarget" value="contents">
<param name="tile" value="true">
<param name="textIndent" value="5">
<param name="triangle_offset" value="225">
</applet> </td>
</tr>
</table></td>
</tr>
</table>

<%
rsSettori.Close()
Set rsSettori = Nothing
%>
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao, benvenuto al forum e buon 2004.

<% do while NOT rsSettori.EOF %>
<%=(rsSettori.Fields.Item("SetDescSettore").Value)%>

qui manca un <%loop%>


<%=(rsServizi.Fields.Item("SerDescServizio").Value)%>;URL=http://www.html.it/;TARGET=contents
devi rendere dinamico anche il link, altrimenti ti rimane sempre www.html.it


Il Problema è che non riesco a visualizzare il menu nel modo desiderato

mmmh non è molto facile immaginare il risultato finale. Questa pagina è attulamente pubblicata su internet? Farebbe molto comodo vederne l'output, anche perchè non conosco l'applet che hai scaricato e non so quale siano le convenzioni (parametri da impostare) per definire i menu in un certo modo.
Se puoi, posta l'output di pagina o il suo url.

Un consiglio che dovresti prendere in seria considerazione:
NON usare le applet.

putroppo microsoft ha deciso che con WindowsXP deve essere l'utente a scaricarsi la Java Virtual Machine e se uno sceglie di non farlo non potrà visualizzare il tuo menu.
Personalmente io ho la JVM, però ho disabilitato le applet perchè non mi piacciono (eh... gusti personali :)

Usa invece un treeview fatto in javascript, ce ne sono tantissimi sul web e molto più compatibili con i diversi browsers.
Da un motore di ricerca, scrivi questo:
javascript treeview
e ne trovi tanti.

uno è questo http://www.treeview.net/
ciao







Enjoy learning and just keep making
19 messaggi dal 02 gennaio 2004
L'applet l'ho scricata dalla pagina "http://html.it/java/93/applet.htm".
Siccome sto provando sul computer locale tramite Personal web server non so come inviare l'output della pagina.
Comunque l'output risultante è il seguente (i puntini li ho messi per far vedere lindentazione del menu):

Comune AP
...Finanziario
........Ragioneria
............Demografico
........Economato

L'output desiderato è invece il seguente:

Comune AP
...Finanziario
........Economato
........Ragioneria
...Demografico
........Anagrafe
........Elettorale

Ho provato a mettere il loop come consigliato ma in questo modo l'applet non si visualizza.

Se è possibile potrei inviare un allegato (non so come) con i vari file necessari a far funzionare la pagina (42 kb compressi).

Grazie per l'attenzione
ciao
11.886 messaggi dal 09 febbraio 2002
Contributi
l'output di pagina è ciò che vedi facendo tasto destro sulla pagina -> HTML.
Posta tutto quello compreso tra <applet> e <applet>.
Il risultato finale, guardando il link che hai segnalato, dev'essere simile a questo:

<applet width="150" height="500" code="DropDownMenu.class"
codebase="." style="border: 0px solid rgb(64,0,0)">
<param name="ROOT" value="HTML.it;STATE=EXPANDED;TARGET=main">
<param name="SITEMAP"
value="

Tecnica;STATE=EXPANDED{

Home page;URL=../../|

250 Javascript;URL=../../jscript;TARGET=contents|

Applet Java;URL=../../java;TARGET=contents|

Dynamic HTML;URL=../../dynamic;TARGET=contents|

XML;URL=../../xml;TARGET=contents|

ASP;URL=../../asp;TARGET=contents

}

Altre risorse;STATE=EXPANDED{

Gif animate;URL=../../grafica/gif;TARGET=_blank|

Sfondi;URL=../../grafica/sfondi.htm;TARGET=_blank|

True Type Font;URL=../../font;TARGET=_blank|

Controlli;URL=../../controllo;TARGET=_blank|

Newsletter;URL=../../newsletter;TARGET=_blank

}

InIt{

HARDWARE UPGRADE;URL=http://www.hwupgrade.it;TARGET=contents|

HTML.it;URL=http://www.html.it;TARGET=contents|

GUIDA A GEOCITIES;URL=http://www.geocities.com/~nicolarandone/geoguide Geoguida;TARGET=contents|

FREE ON LINE;URL=http://www.freeonline.org;TARGET=contents|

MIDILAND!;URL=http://www.clarence.com/home/midiland;TARGET=contents|

NASI.COM;URL=http://www.clarence.com/home/nasi.com/ Nasi.com;TARGET=contents|

MOTORI DI RICERCA;URL=http://www.motoridiricerca.it;TARGET=contents|

100LINKS AL MESE;URL=http://www.100links.com/;TARGET=contents|

FELICE MARRA;URL=http://www.tempolibero.com/malfer/;TARGET=contents|

JAVA ITALIAN ALLIANCE;URL=http://www.jia.it/;TARGET=contents|

AIUT@MICI;URL=http://aiutamici.freeweb.org/;TARGET=contents|

ANFACE SOFTWARE ;URL=http://www.geocities.com/CapeCanaveral/Hangar/4794/;TARGET=contents


}


">
<param name="STYLE" value="3DINVERSE">
<param name="FONTFACE" value="Arial">
<param name="FONTSIZE" value="14">
<param name="FONTSTYLE" value="bold">
<param name="SUBFONTFACE" value="Arial">
<param name="SUBFONTSIZE" value="12">
<param name="SUBFONTSTYLE" value="plain">
<param name="BACKGROUND_COLOR" value="000000">
<param name="FONT_COLOR" value="D0D0D0">
<param name="HIGHLIGHT_COLOR" value="FF0000">
<param name="TRIANGLE_UP_COLOR" value="FFFF00">
<param name="TRIANGLE_DOWN_COLOR" value="0000FF">
<param name="TRIANGLE_OFFSET" value="5">
<param name="TRIANGLE_WIDTH" value="10">
<param name="BGIMAGE_ALIGN" value="center">
<param name="BGIMAGE_VALIGN" value="center">
<param name="tile" value="true">
<param name="textIndent" value="5">
<param name="triangle_offset" value="225">
</applet>

Enjoy learning and just keep making
11.886 messaggi dal 09 febbraio 2002
Contributi
ps.
riguardo il loop avevi ragione, il codice era giusto.
ho sbagliato io, ciao.

Enjoy learning and just keep making
19 messaggi dal 02 gennaio 2004
Questo è il codice dell'applet.

grazie
ciao


<applet width="210" height="900" code="DropDownMenu.class"
codebase="." style="border: 0px solid rgb(64,0,0)">
<param name="ROOT" value="Comune AP;STATE=EXPANDED;TARGET=main">
<param name="SITEMAP"
value="
Finanziario

{

Ragioneria;URL=http://www.html.it/;TARGET=contents

}
Demografico

{

Economato;URL=http://www.html.it/;TARGET=contents

}

">
<param name="STYLE" value="3DINVERSE">
<param name="FONTFACE" value="Arial">
<param name="FONTSIZE" value="14">
<param name="FONTSTYLE" value="bold">
<param name="SUBFONTFACE" value="Arial">
<param name="SUBFONTSIZE" value="12">
<param name="SUBFONTSTYLE" value="plain">
<param name="BACKGROUND_COLOR" value="FAFAFA">
<param name="FONT_COLOR" value="0101A5">
<param name="HIGHLIGHT_COLOR" value="FF0000">
<param name="TRIANGLE_UP_COLOR" value="FFCC00">
<param name="TRIANGLE_DOWN_COLOR" value="CC0000">
<param name="TRIANGLE_OFFSET" value="5">
<param name="TRIANGLE_WIDTH" value="10">
<param name="BGIMAGE_ALIGN" value="center">
<param name="BGIMAGE_VALIGN" value="center">
<param name="defaulttarget" value="contents">
<param name="tile" value="true">
<param name="textIndent" value="5">
<param name="triangle_offset" value="225">
</applet>
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao di nuovo,
non riesco a capire come mai ti estrae solo 4 voci sulle 6 che invece vuoi visualizzare.

I valori nel database sono rimasti come li hai descritti nel primo post?
Il tuo codice va bene, hai messo due cicli uno dentro l'altro per estrarre categorie ed elementi appartenenti ad esse.

C'è una piccola precisazione da fare nel ciclo più interno.
se guardi il codice che hai scaricato da html.it, ogni elemento è separato dal successivo mediante questo carattere | che manca nel tuo codice.

Questo è l'esempio fornito da html.it
Dynamic HTML;URL=../../dynamic;TARGET=contents|

vedi quel carattere | in fondo?
bene, devi inserirlo tra un elemento e l'altro. Per adesso preoccupati di questo, poi vedremo come mai ti tira fuori solo 4 elementi invece di 6.

While NOT rsServizi.EOF 
%>
<%=(rsServizi.Fields.Item("SerDescServizio").Value)%>;URL=http://www.html.it/;TARGET=contents<% 
rsServizi.Movenext 
if not rsServizi.EOF then Response.write("|")
Wend 


così dovrebbe andare. Dopo il .Movenet controllo che il recordset non sia EOF.
Se è EOF, il carattere | non viene aggiunto perchè significa che dopo non ci sono più elementi.

Ok, fatto questo, credo che l'altro problema sia dovuto alla query più interna...
infatti, quella esterna ti estrare correttamente le due macrocategorie, Finanziario e Demografico.
La query interna è questa:
rsServizi.Source = "SELECT * FROM Servizi WHERE SerCodServizio ='" & rsSettori.Fields.Item("SetCodSettore").Value & "'"

SerCodServizio che tipo di campo è? Una stringa? Se sì, la query va bene perchè hai messo gli apici, altrimenti toglili.
A me sembra che vada bene... boh!





Enjoy learning and just keep making
19 messaggi dal 02 gennaio 2004
Ho provato ma l'output è lo stesso.
I campi sono tutti di tipo testo

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.