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 :

Condition sur un champ numérique


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Par défaut Condition sur un champ numérique
    Bonjour

    J'aimerais faire une condition lors du submit de mon formulaire.
    Sur un champ numerique ['element_numeric'][7]
    Si la valeur est inférieur à 50 envoi vers email1@gmail.com
    et si la valeur est supérieur à 50 envoi vers email2@gmail.com

    Pour le moment j'en suis là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $nombre =$_POST['element_numeric'][7]=50;  
    if ($nombre >= 0 && $nombre < 50) { 
       // on teste si la valeur de notre variable est comprise entre 0 et 49
       $email="email1@gmail.com"; // la valeur de notre variable est comprise entre 0 et 49 on choisi cet email 
    }
    else
      $email="email2@gmail.com";// sinon  on choisi cet email
    }
    Mais c'est pas bon
    Un petit coup de main SVP

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    if (isset($_POST['element_numeric'][7]) && is_numeric($_POST['element_numeric'][7]))
    {
        $n     = $_POST['element_numeric'][7];
        $email = (($n >= 0) && ($n < 50)) ? 'email1@gmail.com' : 'email2@gmail.com';
    }
    else
    {
        echo 'Erreur';
    }
    ?>

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Par défaut
    Bonjour et merci bien pour le coup de main

    En fait j'ai 2 conditions:

    La 1ère fonctionne très bien (si le département du champ ['element_numeric'][4] est inclus dans la liste (93, 95, 60, 62 , 80 , 59 , 02 ,27 , 28 , 76 , 14 , 50) envoi email1@gmail.com sinon email2@gmail.com.

    Donc j'aimerai que la condition 1 soit prioritaire sinon si le département n'est pas inclus dans la liste utiliser la 2ème < à 50 ou > à 50.

    de cette manière cela ne fonctionne pas!
    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
    <?php if (isset($_POST['submit'])) { // le formulaire a été posté
    $tab_cp=array(93, 95, 60, 62 , 80 , 59 , 02 ,27 , 28 , 76 ,  14 , 50); // Tableaux des codes postaux
    $select_email='0';
     $cp=$_POST['element_numeric'][4] ; // Le champs où l'utilisateur entre son code postal  
      $int_cp = intval(substr($cp,0,2)); /*Troncature du code postal pour ne garder que les 2 premiers caracteres et transforme en entier*/
     
    if(!empty($cp)) 
    {
      if (in_array($int_cp,$tab_cp)){
      $select_email='1'; // Si code postal est dans la liste on choisi cet email
        	}
       }
     
    if($select_email == '1'){
      $email="email1@gmail.com";// code postal dans la liste
     
    }else{
     
    if (isset($_POST['element_numeric'][7]) && is_numeric($_POST['element_numeric'][7]))
    {
        $n     = $_POST['element_numeric'][7];
        $email = (($n >= 0) && ($n < 50)) ? 'email1@gmail.com' : 'email2@gmail.com';
    }
     
    else
      $email="email2@gmail.com";// sinon  on choisi cet email 
    }
      $formName="Test conditions";// en sortant du else le message et valable pour les 2 conditions
      $emailSubject="Informations transmises par le formulaire";
      ?>
    Merci
    A bientôt

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    il y a plus concis :
    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
    <?php
     
    if (isset($_POST['submit'])) 
    {
        // email par défaut
        $email   = 'email2@gmail.com';
        // départements spéciaux
        $tab_dpt = array(93, 95, 60, 62 , 80 , 59 , 02 ,27 , 28 , 76 ,  14 , 50); 
        $cp      = (isset($_POST['element_numeric'][4])) ? (int)$_POST['element_numeric'][4] : 0;
     
        if ( ! empty($cp))
        {
            $dpt = (int)substr($cp, 0, 2);
            if (in_array($dpt, $tab_dpt, true))
            {
                $email = 'email1@gmail.com';
            }
        }
        elseif (isset($_POST['element_numeric'][7]) 
        {
            $n = (int)$_POST['element_numeric'][7];
            if (($n >= 0) && ($n < 50))
            {
                $email = 'email1@gmail.com';   
            }
        }
    }

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Par défaut
    Bonjour

    Je peux pas tester le code
    J'ai une erreur ligne 20 après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif (isset($_POST['element_numeric'][7])
    Merci pour le coup de main
    A bientôt

  6. #6
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Salut,

    C'est juste un petit oubli de parenthèse après ton else if :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    elseif (isset($_POST['element_numeric'][7]))

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Par défaut
    Bonjour

    J'ai testé le 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php if (isset($_POST['submit'])) 
    {
        // email par défaut
        $email   = 'email2@gmail.com';
        // départements spéciaux
        $tab_dpt = array(93, 95, 60, 62 , 80 , 59 , 02 ,27 , 28 , 76 ,  14 , 50); 
        $cp      = (isset($_POST['element_numeric'][4])) ? (int)$_POST['element_numeric'][4] : 0;
     
        if ( ! empty($cp))
        {
            $dpt = (int)substr($cp, 0, 2);
            if (in_array($dpt, $tab_dpt, true))
            {
                $email = 'email1@gmail.com';// code postal dans la liste (Bruno&Marc)
            }
        }
        elseif (isset($_POST['element_numeric'][7])) 
        {
            $n = (int)$_POST['element_numeric'][7];
            if (($n >= 0) && ($n < 50))
            {
                $email = 'email1@gmail.com';// nbr de véhicules inférieur à 50 (Bruno&Marc)  
            }
        }
     
      $formName="Test";// en sortant du else le message et valable pour les 2 conditions
      $emailSubject="Informations transmises par le formulaire";
      ?>
    - le département figure dans la liste envoi vers email1 c'est bon
    - le nombre de véhicules est supérieur à 50 envoi vers email2 c'est bon
    - le nombre de véhicules est inférieur à 50 envoi vers email1 c'est pas bon

    Merci pour le coup de main
    A bientôt

  8. #8
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    relis ton premier post :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($nombre >= 0 && $nombre < 50) { 
       // on teste si la valeur de notre variable est comprise entre 0 et 49
       $email="email1@gmail.com"; // la valeur de notre variable est comprise entre 0 et 49 on choisi cet email 
    }

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Par défaut
    Bonjour

    Pardon, je n'ai pas compris

    A bientôt

Discussions similaires

  1. Vue et condition sur un champs
    Par Andry dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 10/11/2006, 10h12
  2. [Debutant] condition sur les champs
    Par nadhem dans le forum JDBC
    Réponses: 6
    Dernier message: 24/07/2006, 13h01
  3. condition sur un champ d'une table
    Par julio02200 dans le forum Access
    Réponses: 12
    Dernier message: 11/07/2006, 15h19
  4. Réponses: 8
    Dernier message: 06/02/2006, 15h34
  5. Problème de requête avec cumul des conditions sur un champ
    Par UtopieAmbiante dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/01/2006, 11h52

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