58 messaggi dal 03 febbraio 2003
Ciao a tutti, premetto di capirci poco di ASP...lo capirete probabilmente leggendo il mio post .....
...ho installato MWopen sul mio server Aruba e vorrei attribuire un'icona ad ogni categoria del mio catalogo, ho cercato di modificare il file inc_categorie.asp in vari maodi.....ma niente da fare non riesco a farlo funzionare .....
....vi chiedo una mano
Riporto di seguito il file inc_categorie.asp e le righe che vorrei inserire.


<%
'VERSIONE FILE 1.4.0
%>
<!-- CATALOGO -->
<table width="118" border="1" cellspacing="0" cellpadding="3" bordercolordark="#E5E5E5" bordercolorlight="#000000" border="1">
<tr>
<td bgcolor="<%=Tabella_Colore_Titolo%>" valign="middle">
<img src="<%=Path_Img%>catalogo_tabella_titolo.jpg">
</td>
</tr>
<tr>
<td valign="top" bgcolor="<%=Tabella_Colore_Cella%>">
<br>
<%
'---Dichiarazione variabili
Dim SQLCat, RSCat, Icat, QSSCategoria, SCatArr, CatArr, BoolCategorie, K
SQLCat = " SELECT ID, SCategoria FROM SCategorie "
Set RScat = Conn.Execute(SQLCat)
If Not RSCat.EOF Then
SCatArr = RScat.GetRows
'---Stampo a video le scategorie ed eventuali categorie
If QSSCategoria <> "" Then
SQLCat = " SELECT ID, Categoria FROM Categorie WHERE SCategoria = " & QSSCategoria
Set RSCat = Conn.Execute(SQLCat)
If Not RSCat.EOF Then
CatArr = RSCat.GetRows
BoolCategorie = True
Else
BoolCategorie = False
End If
RSCat.Close
End If
For Icat = 0 to UBound(SCatArr, 2)
%>
<img src="<%=Path_Img%>catalogo_frecciasx.gif" width="7" height="9" border="0"> <a href="catalogo.asp?scat=<%=SCatArr(0,ICat)%>"><%=SCatArr(1,ICat)%></a> <---------------riga da modificare
<br>
<%
If CStr(SCatArr(0,ICat)) = QSSCategoria Then
If boolCategorie Then
For K = 0 To UBound(CatArr,2)
%>
 <img src="<%=Path_Img%>catalogo_frecciadx.gif" width="7" height="9" border="0"> <a href="catalogo.asp?scat=<%=SCatArr(0,ICat)%>&cat=<%=CatArr(0,k)%>"><%=CatArr(1,k)%></a>
</br>
<%
Next
End If
End If
Next
Else
%>
<%=NoCategoria%>
<br>
<%
End If
%>
<br>
</td>
</tr>
</table>
<!-- /CATALOGO -->


e queste le righe da inserire:


<%
if SCatArr = 19 then
ImgArr=acnot.gif
else
if SCatArr = 22 then
ImgArr=acdesk.gif
else
if SCatArr = 25 then
ImgArr=tavolette.gif
else
if SCatArr = 26 then
ImgArr=cpu.gif
else
if SCatArr = 27 then
ImgArr=cavi.gif
else
if SCatArr = 28 then
ImgArr=memory.gif
else
if SCatArr = 29 then
ImgArr=fax.gif
else
if SCatArr = 30 then
ImgArr=gcontinuita.gif
else
if SCatArr = 31 then
ImgArr=hd.gif
else
if SCatArr = 32 then
ImgArr=lettori.gif
else
if SCatArr = 33 then
ImgArr=mainboard.gif
else
if SCatArr = 34 then
ImgArr=masterizzatori.gif
else
if SCatArr = 35 then
ImgArr=memorie.gif
else
if SCatArr = 36 then
ImgArr=modem.gif
else
if SCatArr = 37 then
ImgArr=monitor.gif
else
if SCatArr = 38 then
ImgArr=tastiere.gif
else
if SCatArr = 39 then
ImgArr=mouse.gif
else
if SCatArr = 40 then
ImgArr=notebook.gif
else
if SCatArr = 41 then
ImgArr=desktop.gif
else
if SCatArr = 42 then
ImgArr=plotter.gif
else
if SCatArr = 43 then
ImgArr=network.gif
else
if SCatArr = 44 then
ImgArr=scanner.gif
else
if SCatArr = 45 then
ImgArr=multimedia.gif
else
if SCatArr = 46 then
ImgArr=svideo.gif
else
if SCatArr = 47 then
ImgArr=software.gif
else
if SCatArr = 48 then
ImgArr=stampanti.gif
else
if SCatArr = 49 then
ImgArr=toner.gif
else
if SCatArr = 50 then
ImgArr=camera.gif
else
if SCatArr = 51 then
ImgArr=palmtop.gif
else
if SCatArr = 52 then
ImgArr=web.gif
<img src="<%=Path_Img%>><%=ImgArr%>" width="7" height="9" border="0"> <a href="catalogo.asp?scat=<%=SCatArr(0,ICat)%>"><%=SCatArr(1,ICat)%></a>
end if


Ciao e grazie a tutti.
11.886 messaggi dal 09 febbraio 2002
Contributi
C'è una catena enorme di else-if... else if, quando hai tante scelte possibili devi usare una select, è il metodo più indicato, guarda:


<%
Select Case SCatArr
Case 19:
ImgArr="acnot.gif"
Case 22:
ImgArr="acdesk.gif"
Case 23:
ImgArr="tavolette.gif"
End Select

E poi aggiungi gli altri Case per tutte le categorie che ti servono. Un altro suggerimento, tu avevi fatto:

ImgArr=acdesk.gif

stai valorizzando la variabile ImgArr con una stringa, quindi ci vanno le virgolette, così:

ImgArr="acdesk.gif"

la differenza è che tutto quello che si trova tra le virgolette viene trattato letteralmente (stringa), quello che non è tra virgolette viene invece valutato come espressione e acdesk.gif non corrisponde ad alcuna espressione o comando. caiooo

Enjoy learning and just keep making
58 messaggi dal 03 febbraio 2003
Ciao e grazie per avermi risposto ho fatto come mi hai detto

1) Ho definito la variabile ImgArr
2) ImgArr="acdesk.gif"

ed ho generato le seguenti righe :

3)

<%
Select Case SCatArr
Case 19:
ImgArr=acnot.gif
Case 22:
ImgArr=acdesk.gif
Case 25:
ImgArr=tavolette.gif
Case 26:
ImgArr=cpu.gif
Case 27:
ImgArr=cavi.gif
Case 28:
ImgArr=memory.gif
Case 29:
ImgArr=fax.gif
Case 30:
ImgArr=gcontinuita.gif
Case 31:
ImgArr=hd.gif
Case 32:
ImgArr=lettori.gif
Case 33:
ImgArr=mainboard.gif
Case 34:
ImgArr=masterizzatori.gif
Case 35:
ImgArr=memorie.gif
Case 36:
ImgArr=modem.gif
Case 37:
ImgArr=monitor.gif
Case 38:
ImgArr=tastiere.gif
Case 39:
ImgArr=mouse.gif
Case 40:
ImgArr=notebook.gif
Case 41:
ImgArr=desktop.gif
Case 42:
ImgArr=plotter.gif
Case 43:
ImgArr=network.gif
Case 44:
ImgArr=scanner.gif
Case 45:
ImgArr=multimedia.gif
Case 46:
ImgArr=svideo.gif
Case 47:
ImgArr=software.gif
Case 48:
ImgArr=stampanti.gif
Case 49:
ImgArr=toner.gif
Case 50:
ImgArr=camera.gif
Case 51:
ImgArr=palm.gif
Case 52:
ImgArr=web.gif
End Select

che ho inserito prima della riga

<img src="<%=Path_Img%>ImgArr" width="7" height="9" border="0"> <a href="catalogo.asp?scat=<%=SCatArr(0,ICat)%>"><%=SCatArr(1,ICat)%></a>

mi da però il seguente errore:

Microsoft VBScript compilation error '800a0400'
Expected statement
/shop/include/inc_categorie.asp, line 105

<img src="<%=Path_Img
^

Ciao
11.886 messaggi dal 09 febbraio 2002
Contributi
Ti sei solamente dimenticato di chiudere il tag %>

Lo devi mettere immediatamente sotto a End Select, così:

End Select
%>

Enjoy learning and just keep making
58 messaggi dal 03 febbraio 2003
....eccolo:

Microsoft VBScript runtime error '800a000d'
Type mismatch
/shop/include/inc_categorie.asp, line 42

Ho aggiunto %> ma nisba....

Per completezza ti allego il file intero che mi genera l'errore.


<%
'VERSIONE FILE 1.4.0
%>
<!-- CATALOGO -->
<table width="118" border="1" cellspacing="0" cellpadding="3" bordercolordark="#E5E5E5" bordercolorlight="#000000" border="1">
<tr>
<td bgcolor="<%=Tabella_Colore_Titolo%>" valign="middle">
<img src="<%=Path_Img%>catalogo_tabella_titolo.jpg">
</td>
</tr>
<tr>
<td valign="top" bgcolor="<%=Tabella_Colore_Cella%>">
<br>
<%
'---Dichiarazione variabili
Dim SQLCat, RSCat, ImagArr, Icat, QSSCategoria, SCatArr, CatArr, BoolCategorie, K
SQLCat = " SELECT ID, SCategoria FROM SCategorie "
Set RScat = Conn.Execute(SQLCat)
If Not RSCat.EOF Then
SCatArr = RScat.GetRows
'---Stampo a video le scategorie ed eventuali categorie
If QSSCategoria <> "" Then
SQLCat = " SELECT ID, Categoria FROM Categorie WHERE SCategoria = " & QSSCategoria
Set RSCat = Conn.Execute(SQLCat)
If Not RSCat.EOF Then
CatArr = RSCat.GetRows
BoolCategorie = True
Else
BoolCategorie = False
End If
RSCat.Close
End If
For Icat = 0 to UBound(SCatArr, 2)
%>
<%
Select Case SCatArr
Case 19:
ImgArr="acnot.gif"
Case 22:
ImgArr="acdesk.gif"
Case 25:
ImgArr="tavolette.gif"
Case 26:
ImgArr="cpu.gif"
Case 27:
ImgArr="cavi.gif"
Case 28:
ImgArr="memory.gif"
Case 29:
ImgArr="fax.gif"
Case 30:
ImgArr="gcontinuita.gif"
Case 31:
ImgArr="hd.gif"
Case 32:
ImgArr="lettori.gif"
Case 33:
ImgArr="mainboard.gif"
Case 34:
ImgArr="masterizzatori.gif"
Case 35:
ImgArr="memorie.gif"
Case 36:
ImgArr="modem.gif"
Case 37:
ImgArr="monitor.gif"
Case 38:
ImgArr="tastiere.gif"
Case 39:
ImgArr="mouse.gif"
Case 40:
ImgArr="notebook.gif"
Case 41:
ImgArr="desktop.gif"
Case 42:
ImgArr="plotter.gif"
Case 43:
ImgArr="network.gif"
Case 44:
ImgArr="scanner.gif"
Case 45:
ImgArr="multimedia.gif"
Case 46:
ImgArr="svideo.gif"
Case 47:
ImgArr="software.gif"
Case 48:
ImgArr="stampanti.gif"
Case 49:
ImgArr="toner.gif"
Case 50:
ImgArr="camera.gif"
Case 51:
ImgArr="palm.gif"
Case 52:
ImgArr="web.gif"
End Select
%>
<img src="<%=Path_Img%><%=ImgArr%>" width="7" height="9" border="0"> <a href="catalogo.asp?scat=<%=SCatArr(0,ICat)%>"><%=SCatArr(1,ICat)%></a>
<br>
<%
If CStr(SCatArr(0,ICat)) = QSSCategoria Then
If boolCategorie Then
For K = 0 To UBound(CatArr,2)
%>
 <img src="<%=Path_Img%>catalogo_frecciadx.gif" width="7" height="9" border="0"> <a href="catalogo.asp?scat=<%=SCatArr(0,ICat)%>&cat=<%=CatArr(0,k)%>"><%=CatArr(1,k)%></a>
</br>
<%
Next
End If
End If
Next
Else
%>
<%=NoCategoria%>
<br>
<%
End If
%>
<br>
</td>
</tr>
</table>
<!-- /CATALOGO -->

La riga 42 è questa :

Select Case SCatArr

un volenteroso mi ha detto che devo memorizzare in SCatArr l'id della categoria nel ciclo che interroga il db.....

Bo....

Ciao e grazie ancora
11.886 messaggi dal 09 febbraio 2002
Contributi
L'aver inserito %> è stato fondamentale, tanto è vero che ora ricevi un altro errore. "Type mismatch" significa che è stato usato un tipo di dati non coerenti alla richiesta.

L'errore si trova infatti in questa riga:

Select Case SCatArr

perchè Select Case accetta una variabile variant e non un array. Praticamente non sapevo che SCatArr fosse un array. Per risolvere questo errore ti basta sostituire la riga qua sopra con:

Select Case SCatArr(lcat)

SCatArr(lcat) è un elemento dell'array, quindi un variant accettato dalla select.

Enjoy learning and just keep making
58 messaggi dal 03 febbraio 2003
Sto collezionando tutti gli errori possibili.....

Microsoft VBScript runtime error '800a0009'

Subscript out of range

/shop/include/inc_categorie.asp, line 42


Ciao e grazie per la tua disponibilità.
3.122 messaggi dal 16 maggio 2002
Ma perche' non aggiungi un campo alla tabella delle categorie dove indichi l'immagine associata? Ti semplificherebbe di molto le cose.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

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.