- Home
- Categorie
- Coding e Sistemistica
- Gestione di Forum
- Devo costruire un conditional corretto, mi aiutate?
-
Devo costruire un conditional corretto, mi aiutate?
Salve a tutti,
Ho creato dei conditional su vb3 come questi:
<if condition="$threadinfo['threadid'] == '1'">
Ads specifico
<else />
Ads generico
</if>per visualizzare su un thread specifico un determinato banner, nel caso in cui la condizione non si realizza viene visualizzato un banner generico.
Fin qui tutto bene.
Il problema e' che se voglio ( anzi purtroppo DEVO ) inserire altre condizioni nella stessa pagina, poniamo 5 condizioni per 5 thread ID diversi,
e quindi :
<if condition="$threadinfo['threadid'] == '1'">
Ads specifico 1
<else />
Ads generico
</if><if condition="$threadinfo['threadid'] == "2'">
Ads specifico 2
<else />
Ads generico
</if><if condition="$threadinfo['threadid'] == "3'">
Ads specifico 3
<else />
Ads generico
</if><if condition="$threadinfo['threadid'] == "4'">
Ads specifico 4
<else />
Ads generico
</if><if condition="$threadinfo['threadid'] == "5'">
Ads specifico 5
<else />
Ads generico
</if>purtroppo visualizzo per 4 volte il banner generico, tranne nel thread in cui l'ID coincide con la condizione : in questo caso visualizzo il banner specifico.
Ricapitolando , usando questo codice , se carico un thread poniamo con id "3" visualizzo il banner specifico 3 ma anche 4 banner generici ( che non voglio visualizzare )
Sapete dirmi come ovviare a questa cosa? Sapete scrivere un conditional piu' corretto?
Grazie per la collaborazione.
-
Non conosco il linguaggio da te proposto, ma riscontro delle similitudini da quelli che conosco.
Il problema sta nel fatto che entri negli else di tutti gli altri blocchi che non sono l'id che tratti.Quindi posso solo consigliarti di provare un costrutto del seguente tipo.
IF condizione=1 FAI 1 ELSE IF condizione=2 FAI 2 ELSE IF condizione=3 FAI 3 ELSE GENERICO FINE IF
O se esiste un costrutto del tipo SELECT CASE, che solitamente nei linguaggi di programmazione consiste nel proporre delle casistiche dei valori di una determinata variabile.
SELECT CASE $threadinfo['threadid'] CASE 1 FAI 1 CASE 2 FAI 2 CASE ELSE FAI GENERICO END SELECT
-
Cionfs sul suo forum
(non posso inserire links)mi ha consigliato di fare cosi':
<if condition="$threadinfo['threadid'] == '1'">
ADS 1
</if><if condition="$threadinfo['threadid'] == '2'">
ADS 2
</if><if condition="$threadinfo['threadid'] == '3'">
ADS 3
</if><if condition="!in_array($threadinfo['threadid'],array(1,2,3))">
ADS generico
</if>e funziona!
Grazie comunque per il tuo suggerimento Marco.