IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Comment mettre une condition sur une variable?


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut [Tableaux] Comment mettre une condition sur une variable?
    Salut,
    Dans mon formulaire j'ai des zones text où je dois entrer le prix et la quantité d'un article.
    j'ai fais un bout de programme qui multiplie ces variables pour en calculer le montant, mais si je renseigne qu'un article sur l'ensemble alors le script me sort le bon résultat mais affiche une liste de "0" qui correspond aux article qui n'ont pas été renseignés, alors je voudrais mettre une condition sur lequel que si on a pas renseigné les autres champs alors on calcul rien pour eviter d'afficher "0" sinon aux contraire si les champs sont renseignés on multiplie l'ensemble. Avez vous une idées? merci.

    voici le prog,formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <p class="titre">Renseignement sur les articles</p>
    <fieldset id="articles">
    <label>N°1 : </label><input type="text"name="prix" size="3" />€<input type="texte"name="qte" size="3" 
     
    />Qté</label><input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°2 : </label><input type="text"name="prix1" size="3" />€<input type="texte"name="qte1" size="3" 
     
    />Qté</label><input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°3 : </label><input type="text"name="prix2" size="3" />€<input type="texte"name="qte2" size="3" 
     
    />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°4 : </label><input type="text"name="prix3" size="3" />€<input type="texte"name="qte3" size="3" 
     
    />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°5 : </label><input type="text"name="prix4" size="3" />€<input type="texte"name="qte4" size="3" 
     
    />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°6 : </label><input type="text"name="prix5" size="3" />€<input type="texte"name="qte5" size="3" 
     
    />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°7 : </label><input type="text"name="prix6" size="3" />€<input type="texte"name="qte6" size="3" 
     
    />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°8 : </label><input type="text"name="prix7" size="3" />€<input type="texte"name="qte7" size="3" 
     
    />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°9 : </label><input type="text"name="prix8" size="3" />€<input type="texte"name="qte8" size="3" 
     
    />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°10 : </label><input type="text"name="prix9" size="3" />€<input type="texte"name="qte9" 
     
    size="3" />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°11 : </label><input type="text"name="prix10" size="3" />€<input type="texte"name="qte10" 
     
    size="3" />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°12 : </label><input type="text"name="prix11" size="3" />€<input type="texte"name="qte11" 
     
    size="3" />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°13 : </label><input type="text"name="prix12" size="3" />€<input type="texte"name="qte12" 
     
    size="3" />Qté<input type="text"name="ref[]" size="3" />Ref<br />
     
    <label>N°14 : </label><input type="text"name="prix13" size="3" />€<input type="texte"name="qte13" 
     
    size="3" />Qté<input type="text"name="ref[]" size="3" />Ref<br />
    </fieldset>
    le script qui calcul:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $mtht=$prix*$qte;
    $mtht1=$prix1*$qte1;
    $mtht2=$prix2*$qte2;
    $mtht3=$prix3*$qte3;
    $mtht4=$prix4*$qte4;
    $mtht5=$prix5*$qte5;
    $mtht6=$prix6*$qte6;
    $mtht7=$prix7*$qte7;
    $mtht8=$prix8*$qte8;
    $mtht9=$prix9*$qte9;
    $mtht10=$prix10*$qte10;
    $mtht11=$prix11*$qte11;
    $mtht12=$prix12*$qte12;
    $mtht13=$prix13*$qte13;

  2. #2
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Il te suffit de tester sur la varible est vide
    Regarde du coté de empty ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    merci, je dois écrire ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $prix;
    if(empty($prix))
    {
      echo "TRUE"; //Affiche TRUE car la variable est créée mais pas affectée
    }]

  4. #4
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Oui tout a fait, mais pourquoi demandé alors que tu peut tester...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    ba disons que je ne sais pas ou mettre ce code et comment, je dois l'appliquer à toute mes variables dans mon formulaire?

  6. #6
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Alors deja le plus simple c'est de travailler avec les tableaux pour obtenir quelque chose de ce style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $montants = Array();
    for(i = 0 ; $i < count($prix) ; $i++) {
        if(!empty($prix[$i]) && !empty($qute[$i]))
            $montant[$i] = $prix[$i] * $qute[$i];
    }

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    mais étant donnée que j'ai deja plusieurs variable de prix je repete ce code ? (je ne peux pas faire une seule variable de prix je tiens à preciser)

  8. #8
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Oui ce qui est dommage c'est que ca allourdi enfin ca donne ca quoi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(!empty($prix) && !empty($qte))
        $mtht=$prix*$qte;
    if(!empty($prix1) && !empty($qte1))
        $mtht1=$prix1*$qte1;
    if(!empty($prix2) && !empty($qte2))
        $mtht2=$prix2*$qte2;
    ...
    Par contre la pour traiter le montant apres je preconiserai quand meme un tableau...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $mtht = array();
    if(!empty($prix) && !empty($qte))
        $mtht[0]=$prix*$qte;
    if(!empty($prix1) && !empty($qte1))
        $mtht[1]=$prix1*$qte1;
    if(!empty($prix2) && !empty($qte2))
        $mtht[2]=$prix2*$qte2;
    ...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 39
    Points
    39
    Par défaut
    c'est bon j'ai reussi merci pour tes conseils, ba au debut j'avais fais des tableau, mais j'arrivais pas à recuperer les valeurs pour pouvoir les traiter suivant ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $tot_prods = array( array ( "px_unit" => "$prix\n", "qte" => "$qte\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix1\n", "qte" => "$qte1\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix2\n", "qte" => "$qte2\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix3\n", "qte" => "$qte3\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix4\n", "qte" => "$qte4\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix5\n", "qte" => "$qte5\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix6\n", "qte" => "$qte6\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix7\n", "qte" => "$qte7\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix8\n", "qte" => "$qte8\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix9\n", "qte" => "$qte9\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix10\n", "qte" => "$qte10\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix11\n", "qte" => "$qte11\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix12\n", "qte" => "$qte12\n", "tva" => 1 ),
                        array ( "px_unit" => "$prix13\n", "qte" => "$qte13\n", "tva" => 1 ));
    si je mettais juste une ligne comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tot_prods = array( array ( "px_unit" => "$prix[]\n", "qte" => "$qte[]\n", "tva" => 1 ));
    cela marchait que pour une variable mais pas pour les autres

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. comment mettre un filtre sur une variable créée ?
    Par poezart dans le forum Deski
    Réponses: 1
    Dernier message: 04/11/2008, 13h11
  3. Réponses: 3
    Dernier message: 03/05/2007, 11h06
  4. Réponses: 7
    Dernier message: 02/05/2006, 16h28
  5. Comment mettre un label sur une image
    Par dug dans le forum MFC
    Réponses: 3
    Dernier message: 07/04/2004, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo