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 :

Matching 2 tableaux [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 58
    Par défaut Matching 2 tableaux
    Bonsoir à tous,

    je dispose de 2 tableaux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	$r = array(13996174,13996200,13996213,...);
    	$c = array(13995858,13995873,13995886,...);
    j'aimerai réaliser un matching un peu particulier, je m'explique :
    Il me faut pour chaque id du tableau "r" une liste d'id client soit le tableau "c"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $matching=array();
     
    	foreach ($r as $cle=>$rec) {
    		if($cle != 0) {
    			$lastElement = array_shift($c);
    			$tabs = array_push($c, $lastElement);
    		}	
    		$matching[$rec]->id = $rec;
    		$matching[$rec]->listClient = $c;	
    	}

    Le code suivant me retourne bien mes 3 premiers éléments.
    chaque id du tableau "r" disposent d'une liste client décalé d'un élément.

    le résultat :


    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
     
    [13996174] => stdClass Object
                    (
                        [id] => 13996174
                        [listClient] => Array
                            (
                                [0] => 13995858
                                [1] => 13995873
                                [2] => 13995886
                            )
     
                    )
     
                [13996200] => stdClass Object
                    (
                        [id] => 13996200
                        [listClient] => Array
                            (
                                [0] => 13995873
                                [1] => 13995886
                                [2] => 13995858
                            )
     
                    )
     
                [13996213] => stdClass Object
                    (
                        [id] => 13996213
                        [listClient] => Array
                            (
                                [0] => 13995886
                                [1] => 13995858
                                [2] => 13995873
                            )
     
                    )

    Je réalise la même opération, cette fois ci chaque id du tableau "c" à pour liste client le tableau "r". (donc l'inverse..)

    je me retrouve donc avec 6 éléments dont chacun dispose d'une liste client.

    Le résultat final que je n'arrive pas à obtenir pour le moment est le suivant :
    si je reprends mon premier élément généré.

    Element 1
    Tableau "R" qui a pour liste client tableau "C"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                [13996174] => stdClass Object
                    (
                        [id] => 13996174
                        [listClient] => Array
                            (
                                [0] => 13995858
                                [1] => 13995873
                                [2] => 13995886
                            )
     
                    )
    l'index 0 à pour valeur l'id 13995858.

    Si je vais à l'élément qui a pour id principal "13995858"

    Tableau "C" qui a pour liste client tableau "R"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                [13995858] => stdClass Object
                    (
                        [id] => 13995858
                        [listClient] => Array
                            (
                                [0] => 13996174
                                [1] => 13996200
                                [2] => 13996213
                            )
     
                    )
    je retrouve bien pour l'index 0 l'id 13996174 (soit l'id principal de l'élément 1 plus haut) j'ai donc bien une correspondance.

    il me faudrait donc la même chose pour l'index suivant de l'élément 1

    soit l'index 1 :

    si je vais à l'élément dont l'id principal est 13995873
    je devrais me retrouver avec le code suivant et donc également une correspondance à l'index 1 de l'élément 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                [13995873] => stdClass Object
                    (
                        [id] => 13995873
                        [listClient] => Array
                            (
                                [0] => ....
                                [1] => 13996174
                                [2] => ....
                            )
     
                    )
    et ainsi de suite ....

    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
     
    index 2 du premier élément :
    [2] => 13995886
     
    si on prend l élément dont l id principal est l index 2 :
     
                [13995886] => stdClass Object
                    (
                        [id] => 13995886
                        [listClient] => Array
                            (
                                [0] => ....
                                [1] => ....
                                [2] => 13996174
                            )
     
                    )
    ici encore une fois l'index 2 aura pour correspondance l'id principal de l'élément 1

    et ceci est valable pour chaque élément...
    je sais pas si j'ai réussi à expliquer mon problème de manière clair !
    merci pour vos réponses

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 58
    Par défaut
    J'ai finalement trouvé ma solution...
    une fois l'exemple décomposé et une bonne nuit de sommeil..

    pour info il me me fallait décompiler d'une autre manière avec array_pop et array_unshift !

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

Discussions similaires

  1. [langage] erreurs utilisation tableaux 2 dimensions
    Par drosof dans le forum Langage
    Réponses: 11
    Dernier message: 01/07/2003, 11h44
  2. "Match nul"
    Par Sylvain James dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 17/06/2003, 10h27
  3. Réponses: 6
    Dernier message: 04/04/2003, 15h28
  4. template match="node() mais pas text()"
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/03/2003, 10h52
  5. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

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