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] pb avec array_unique()


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut [Tableaux] pb avec array_unique()
    Bonjour à tous!

    j'ai un petit problème pour dédoublonner un tableau :

    voiçi le tableau d'origine :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Array 
    ( 
    [0] => Array ( [marq_imp_id] => 035 [marq_imp_lib] => HEWLETT PACKARD ) 
    [1] => Array ( [marq_imp_id] => 035 [marq_imp_lib] => HEWLETT PACKARD ) 
    [2] => Array ( [marq_imp_id] => DIV [marq_imp_lib] => DIVERS ) 
    [3] => Array ( [marq_imp_id] => DIV [marq_imp_lib] => DIVERS ) 
    )

    et si je fait array_unique($mon_tableau) voilà ce qu'il me renvoi :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Array 
    ( 
    [0] => Array ( [marq_imp_id] => 035 [marq_imp_lib] => HEWLETT PACKARD ) 
    )

    Mais où est donc passé ma ligne "DIVERS" ????

    Merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    En fait je vient de comprendre que le problème c'est que je construit un tableau de tableau, et le tri se fait sur les entetes "marq_imp_id" et "marq_imp_lib"...

    Je pense qu'il va faloir que je trouve une autre facon de créer mon tableau.

    pour l'instant je le faisait comme ça :

    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
     
     
    $array_marq= array();
    // je récupère tout les modèles d'imprimantes présent sur un site
       $query_cat="SELECT cat_imp_model_id FROM catalog_ag_imp WHERE cat_imp_ag_id='".$site."';";
       $rs_cat = pg_query($db_connect, $query_cat);
     
     //pour chaque modèle je cherche la marque
       while($enreg_cat=pg_fetch_row($rs_cat))
       {
     
       $dsn_jBase = "*******";
          $connect_odbc = odbc_connect($dsn_jBase,"","",SQL_CUR_USE_DRIVER) or die("<br><b>Impossible de ce connecter à l'ODBC</b>");
          $requete_marq = "SELECT MarqueId,LibelleMarque FROM T_MARQUE WHERE MarqueId IN( SELECT MarqueId FROM ARTI WHERE ArtiId='".$enreg_cat[0]."')";
     
          $resultat_marque = odbc_exec ( $connect_odbc , $requete_marq );
     
          while (odbc_fetch_row($resultat_marque))
          {
             $array_ligne= array();
          	$marq_id = ASCII2ANSI(odbc_result($resultat_marque,1));
          	$marq_lib = ASCII2ANSI(odbc_result($resultat_marque,2));
          	$array_ligne['marq_imp_id']= $marq_id;
       		$array_ligne['marq_imp_lib']= $marq_lib;
    //j'ajoute la marque dans mon tableau des marques
             $array_marq[]= $array_ligne;
          }
       }
       odbc_close($connect_odbc);
    maintenant y'a plus qu'a trouver comment éviter les doublons...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    C'est bon, j'ai trouvé ma solution
    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
     
     
    $array_marq= array();
    // je récupère tout les modèles d'imprimantes présent sur un site
       $query_cat="SELECT cat_imp_model_id FROM catalog_ag_imp WHERE cat_imp_ag_id='".$site."';";
       $rs_cat = pg_query($db_connect, $query_cat);
     
    //création d'un tableau de test intermédiaire
    $array_test= array();
     
     
     //pour chaque modèle je cherche la marque
       while($enreg_cat=pg_fetch_row($rs_cat))
       {
     
       $dsn_jBase = "*******";
          $connect_odbc = odbc_connect($dsn_jBase,"","",SQL_CUR_USE_DRIVER) or die("<br><b>Impossible de ce connecter à l'ODBC</b>");
          $requete_marq = "SELECT MarqueId,LibelleMarque FROM T_MARQUE WHERE MarqueId IN( SELECT MarqueId FROM ARTI WHERE ArtiId='".$enreg_cat[0]."')";
     
          $resultat_marque = odbc_exec ( $connect_odbc , $requete_marq );
     
          while (odbc_fetch_row($resultat_marque))
          {
             $array_ligne= array();
          	$marq_id = ASCII2ANSI(odbc_result($resultat_marque,1));
          	$marq_lib = ASCII2ANSI(odbc_result($resultat_marque,2));
          	$array_ligne['marq_imp_id']= $marq_id;
       		$array_ligne['marq_imp_lib']= $marq_lib;
             //je test si la valeur est dans mon tableau de test
             if (in_array ($marq_id, $array_test)==false)
             {
             $array_marq[]= $array_ligne;
             $array_test[]=$marq_id;
             }
          }
       }
       odbc_close($connect_odbc);
    et voilà

    Merci quand même

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

Discussions similaires

  1. [Tableaux] Problème avec array_multisort
    Par ecocentric dans le forum Langage
    Réponses: 5
    Dernier message: 27/09/2005, 15h56
  2. [Tableaux] Problème avec les boucles
    Par speed_man002 dans le forum Langage
    Réponses: 4
    Dernier message: 21/09/2005, 16h42
  3. [Tableaux] problème avec while
    Par zimotep dans le forum Langage
    Réponses: 3
    Dernier message: 11/09/2005, 11h30
  4. [Tableaux] Problème avec Switch case
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2005, 17h37
  5. Recupération de tableaux PHP avec PL/pgSQL
    Par moog dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 25/02/2005, 18h11

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