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

PHP & Base de données Discussion :

Valeur renvoyée incorrecte [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    maf
    maf est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 76
    Par défaut Valeur renvoyée incorrecte
    Bonjour à toutes et à tous,

    J'ai un problème concernant les valeurs que mon code me renvoie ...

    Voici 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
    <?php
    print($m50);
    if($m50="cat1"){$val50=0;}
    elseif($m50="cat2"){$val50=1;}
    elseif($m50="cat3"){$val50=2;}
    elseif($m50="cat4"){$val50=3;}
    elseif($m50="cat5"){$val50=4;}
    elseif($m50="cat6"){$val50=5;}
    elseif($m50="cat7"){$val50=6;}
    else{$val50="ERREUR";};
    ?>
    <br>
    <?php print($val50);?>
    Voici les valeurs renvoyées ...
    cat2
    0

    ... si ma valeur est bien cat2 ... la valeur renvoyée pour $val50 devrait être 2 ... non ?

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Non, ça devrait afficher 1
    Et tu devrais plutôt utiliser un switch()

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    switch($m50){
    case "cat1" : $val50 = 0; break;
    case "cat2" : $val50 = 1; break;
    case "cat3" : $val50 = 2; break;
    // etc
    default      : $val50 = "ERREUR";
    }

  3. #3
    maf
    maf est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 76
    Par défaut re
    Oui ... 1 pardon

    Par contre ... normalement ça devrait marcher effectivement mais ça ne marche pas ...

    Par contre votre solution marche parfaitement ...

    Mon problème ... c'est que par exemple j'ai également des bouts de codes tels que celui ci-dessous ... ressemblant mais avec des variables différentes dans chaque condition ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
     if($c1>0){$m85 = "cat1";}
     elseif($c2>85){$m85="cat2";}
     elseif($c3>85){$m85="cat3";}
     elseif($c4>85){$m85="cat4";}
     elseif($c5>85){$m85="cat5";}
     elseif($c6>85){$m85="cat6";}
     elseif($c7>85){$m85="cat7";}
     else {$m85="ERREUR";};
     ?>
    ... et qui du coup ne marche pas également ... faut-il utiliser également la même manipulation (switch ... case ...) ?

  4. #4
    maf
    maf est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 76
    Par défaut re
    Résolu ... en lieu et place de = ... il fallait mettre ==

  5. #5
    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,

    tu peux avantageusement réduire ton code, au lieu de trimbaler des if de cet acabit.
    Ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($m50="cat1"){$val50=0;}
    elseif($m50="cat2"){$val50=1;}
    elseif($m50="cat3"){$val50=2;}
    elseif($m50="cat4"){$val50=3;}
    elseif($m50="cat5"){$val50=4;}
    elseif($m50="cat6"){$val50=5;}
    elseif($m50="cat7"){$val50=6;}
    else{$val50="ERREUR";};
    est remplaçable par celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $values = array('cat1', 'cat2', 'cat3', 'cat4', 'cat5', 'cat6', 'cat7');
    $k      = array_search($m50, $values, true);
    $val50  = ($k === false) ? 'ERREUR' : $k;
    et ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($c1>0){$m85 = "cat1";}
    elseif($c2>85){$m85="cat2";}
    elseif($c3>85){$m85="cat3";}
    elseif($c4>85){$m85="cat4";}
    elseif($c5>85){$m85="cat5";}
    elseif($c6>85){$m85="cat6";}
    elseif($c7>85){$m85="cat7";}
    else {$m85="ERREUR";};
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if ($c1 > 0)
    {
        $m85 = 'cat1';
    }
    else
    {
        $values = array(2 => $c2, $c3, $c4, $c5, $c6, $c7);
        $gt85   = array_filter($values, function($p) { return ($p > 85); });
        $m85    = (empty($gt85)) ? 'ERREUR' : 'cat'.key($gt85);
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ADO "valeur enum incorrecte"
    Par geros dans le forum Bases de données
    Réponses: 4
    Dernier message: 14/02/2007, 12h16
  2. Valeur renvoyée par interrupteur (check box)
    Par nath-0-0 dans le forum WinDev
    Réponses: 8
    Dernier message: 29/11/2006, 16h33
  3. Réponses: 1
    Dernier message: 31/07/2006, 13h54
  4. Type de valeur renvoyé ??
    Par Golork dans le forum Access
    Réponses: 1
    Dernier message: 27/06/2006, 17h59
  5. [SQL] php et recuperation d'une valeur renvoyée par une fonction sql
    Par highman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/06/2006, 15h42

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