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 :

Comment est-ce posible que ma condition ne soit jamais respectée


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 214
    Par défaut Comment est-ce posible que ma condition ne soit jamais respectée
    Bonjour,

    Je ne comprends pas pourquoi!

    Je collecte des données dans une base de donnée et j'aimerais éviter les doublons

    fields
    0
    id_field 1
    field_name "printaniere"
    1
    id_field 1
    field_name "printaniere"
    2
    id_field 2
    field_name "hutins"
    3
    id_field 2
    field_name "hutins"
    4
    id_field 4
    field_name "Perrières"
    5
    id_field 4
    field_name "Perrières"
    6
    id_field 4
    field_name "Perrières"
    7
    id_field 5
    field_name "duvernay"
    Donc dans ma boucle, je consate que ma valeur n'est pas considérée dans mon if. Mais commence est-ce possible qu'une variable a qui on vient d'attribuer une valeur, il la perd dans un if?
    Code PHP : 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
     
    // Collect all times of measures and the id of the sensor
    			while($row = $sql_result->fetch_assoc())
    			{
    				// Si l'index n'existe pas et la valeur existante n'est pas égale à la valeur collectée
    				if(array_key_exists('id_field', $dataset['fields']) && $dataset['fields'][$d]['id_field'] =! $row['id_field'])
    				{
    // Crée et enregistre
    				$dataset['fields'][$d]['id_field'] = $row['id_field'];
    				$dataset['fields'][$d]['field_name'] = $row['field_name'];
    				}
    				$dataset['stations'][$d]['id_field'] = $row['id_field'];
    				$dataset['stations'][$d]['field_name'] = $row['field_name'];
    				$dataset['stations'][$d]['id_station'] = $row['id_station'];
    				$dataset['stations'][$d]['station_longname'] = $row['station_longname'];
    				$dataset['stations'][$d]['id_station_type'] = $row['stations_types_id_stations_type'];
    				$dataset['stations'][$d]['station_type_name'] = $row['stations_type_name'];
    				$dataset['stations'][$d]['station_archive'] = $row['station_archive'];
    				$dataset['stations'][$d]['lat'] = $row['station_lat'];
    				$dataset['stations'][$d]['lng'] = $row['station_lng'];
    				$dataset['stations'][$d]['alt'] = $row['station_alt'];
     
    				$dataset['stations'][$d]['measures'] = array();
    				$dataset['stations'][$d]['measures_found'] = false;
     
    				$getCenterMap[$d][0] = $row['station_lat'];
    				$getCenterMap[$d][1] = $row['station_lng'];
     
    				if($dataset['fields'][$d]['id_field'] =! $row['id_field']){
    					echo 'OK-';
    				}
    				else{
    					echo "(";
    // JE CONSTATE QUE MA CONDITION N'EST JAMAIS RESPECTEE ICI ET QUE CE ECHO AFFICHE RIEN
    					echo $dataset['fields'][$d]['id_field'];
    					echo ")";
    					echo '>';
     
    					echo '-KO-';
    				}
     
     
    				$d++;
    			}

    Merci

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 539
    Par défaut
    Bonjour,

    Pourquoi vous vous compliquez la vie avec ce genre de boucle, si vous voulez supprimer les doublons vous pouvez utiliser array_unique avec la constante SORT_REGULAR :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $rows=[
        ["id_field"=> 1,"field_name"=> "printaniere"],
        ["id_field"=> 1,"field_name"=> "printaniere"],
        ["id_field"=> 2,"field_name"=> "hutins"],
        ["id_field"=> 2,"field_name"=> "hutins"],
        ["id_field"=> 3,"field_name"=> "Perrières"],
        ["id_field"=> 3,"field_name"=> "Perrières"],
        ["id_field"=> 3,"field_name"=> "Perrières"],
        ["id_field"=>4,"field_name"=>"duvernay"]
    ];
    $dataset["fields"]=array_unique($rows,SORT_REGULAR);
    print_r($dataset);

    Résultat
    Code php : 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
    Array
    (
        [fields] => Array
            (
                [0] => Array
                    (
                        [id_field] => 1
                        [field_name] => printaniere
                    )
     
                [2] => Array
                    (
                        [id_field] => 2
                        [field_name] => hutins
                    )
     
                [4] => Array
                    (
                        [id_field] => 3
                        [field_name] => Perrières
                    )
     
                [7] => Array
                    (
                        [id_field] => 4
                        [field_name] => duvernay
                    )
     
            )
     
    )

    Ou bien utiliser un group by dans la requête MySQL...

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 214
    Par défaut
    Pourquoi vous vous compliquez la vie
    Je ne sais pas. Je crois que c'est ma spécialité

    Merci beaucoup!!!

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/09/2009, 07h46
  2. Try, catch, comment est ce que la machine virtuelle gerre ca ?
    Par Djobird dans le forum Général Java
    Réponses: 7
    Dernier message: 11/06/2009, 13h07
  3. Réponses: 12
    Dernier message: 11/02/2009, 15h15
  4. Réponses: 15
    Dernier message: 25/07/2007, 13h38
  5. Réponses: 10
    Dernier message: 31/08/2006, 15h57

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