Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/09/2007, 11h22   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3
Points : 0
Points : 0
Par défaut Boucle de condition !

Bonjour tous monde

Voila j'ai créer un scripte qui me permet de calculer le tarif de liveraison selon le poids des produits :

Code asp :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%=( poidTotal )&" Kg"%>
 
<select name="zone" size="1">
<option>Choisis ton pays</option>
<option value="fr">France</option>
<option value="ch">Suisse</option>
<option value="be">Belgique</option>
</select>
 
<% If zone = "fr"  or zone= "be" or zone= "ch" THEN 
If poidTotal > "0" THEN  pricedhl = "9" ELSE 
If poidTotal > "249" THEN  pricedhl = "14" ELSE
If poidTotal > "499" THEN  pricedhl = "19" ELSE
If poidTotal > "999" THEN  pricedhl = "22" ELSE
If poidTotal > "1499" THEN  pricedhl = "28" ELSE
If poidTotal > "1999" THEN  pricedhl = "29" ELSE
END IF %>
Le probleme c'est dans la boucle de condition quand elle compare le poidtotal avec <%=( poidTotal )&" Kg"%>( 1000 kg par exemple ) elle le compare (lire)de gauche a droite donc elle affiche 9 au lei de 22!

Comment faire pour la compraraison (lecture) de droite a gauche

merci D'avance

----------------
Utilise la balise code (#) pour différencier le texte du code plutôt que d'utiliser les couleurs merci.

kaiser59
pazouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2007, 15h24   #2
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Salut,

En mettant entre "" tes nombres ASP les interprétes comme du texte donc comparaison possible

Code asp :
Response.write  Cint(poidTotal) &" Kg"

Rmq : Cint() sert à convertir du texte en nombre entier

Code asp :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
If zone = "fr"  or zone= "be" or zone= "ch" then 
   If poidTotal > 0 then
      pricedhl = 9
   elseIf poidTotal > 249 then 
       pricedhl = 14 else
   elseIf poidTotal > 499 then
       pricedhl = 19
   elseIf poidTotal > 999 then
       pricedhl = 22 
   elseIf poidTotal > 1499 then
       pricedhl = 28
   elseIf poidTotal > 1999 then
       pricedhl = 29
   end if

Par ailleurs, à quoi te sert la 1ère condition si tu met ceci :
Code html :
1
2
3
4
5
6
7
 
<select name="zone" size="1">
<option>Choisis ton pays</option>
<option value="fr">France</option>
<option value="ch">Suisse</option>
<option value="be">Belgique</option>
</select>
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2007, 15h36   #3
Invité de passage
 
Inscription : novembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3
Points : 0
Points : 0
Par défaut Probleme résolut par moi meme :mouarf:

rebonjour,

pour la question à quoi te sert la 1ère condition ?

Sa permet de choisir le pays destinataire!
puis la 2eme condition verifie d'abord la 1ere condition a fin de continué et donné le tarif de livraison selon le poid

pour la problem faus just ajouter la syntaxe Cint avant le poid :
Code asp :
1
2
3
4
5
6
7
8
9
<% If zone = "fr"  or zone= "be" or zone= "ch" THEN 
If poidTotal > Cint ("0") THEN  pricedhl = "9" ELSE 
If poidTotal > Cint ("249") THEN  pricedhl = "14" ELSE
If poidTotal > Cint ("499") THEN  pricedhl = "19" ELSE
If poidTotal > Cint ("999") THEN  pricedhl = "22" ELSE
If poidTotal > Cint ("1499") THEN  pricedhl = "28" ELSE
If poidTotal > Cint ("1999") THEN  pricedhl = "29" ELSE
END IF %>

vala bonne chance et bonne Année
pazouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2007, 15h57   #4
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 246
Points : 1 203
Points : 1 203
Envoyer un message via MSN à kaiser59
Excuse mais tes pays de destinataires ne servent à rien dans ta condition
puisse que tu lui dis quelque soit la zone tu applique les autres conditions dont les valeurs sont identiques qlq soit la zone.

Logiquement pour te servir des zones cela devrait être :

Code asp :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
Cint(poidTotal)
Select case request.form("zone")
 case "fr"
   If poidTotal > 0 THEN
        pricedhl = "9"
   elseIf poidTotal > 249 THEN 
        pricedhl = "14" 
   end if
 case "be"
    If poidTotal > 0 THEN
        pricedhl = "19"
    elseIf poidTotal > 249 THEN 
        pricedhl = "22"
    end if
  ...
end select

la je pense que c'est plus logique l'utilisation des zones
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h53.


 
 
 
 
Partenaires

Hébergement Web