Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/02/2011, 10h20   #1
Membre du Club
 
Avatar de l.laurent60
 
Inscription : avril 2009
Messages : 163
Détails du profil
Informations personnelles :
Âge : 37

Informations forums :
Inscription : avril 2009
Messages : 163
Points : 44
Points : 44
Par défaut Tri de tableau

Bonjour,

J'ai une idée mais je ne trouve pas comme faire mon tri.

1- Je récupère des valeurs Poster qui correspondent a la valeur de la clé referent du tableau ci-dessous

Code :
1
2
3
4
 
$_POST["Q3"]=
$_POST["Q1"]=
$_POST["Q2"]=
2- J'ai un tableau a plusieurs dimension de ce type :

Code :
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
45
46
47
48
 
Array
(
    [0] => Array
        (
            [caption] => champ1
            [type] => text
            [fill] => 0
            [affichagebr] => 0
            [referent] => Q1
            [proposition] => Array
                (
                    [value] => Array
                        (
                            [0] => 0
                        )
 
                    [nom] => Array
                        (
                            [0] => 
                        )
 
                )
 
        )
 
    [1] => Array
        (
            [caption] => champ2
            [type] => text
            [fill] => 0
            [affichagebr] => 0
            [referent] => Q2
            [proposition] => Array
                (
                    [value] => Array
                        (
                            [0] => 0
                        )
 
                    [nom] => Array
                        (
                            [0] => 
                        )
 
                )
 
        )
Je voudrais remettre le tableau dans un ordre ou faire un nouveau tableau construit dans l'ordre des clés poster Q3, Q1, Q2 tout en réaffectant le clé réfèrent q1, q2, q3 dans l'ordre chronologique.

Code :
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
45
46
47
48
Array
(
    [0] => Array
        (
            [caption] => champ3
            [type] => text
            [fill] => 0
            [affichagebr] => 0
            [referent] => Q1
            [proposition] => Array
                (
                    [value] => Array
                        (
                            [0] => 0
                        )

                    [nom] => Array
                        (
                            [0] => 
                        )

                )

        )

    [1] => Array
        (
            [caption] => champ1
            [type] => text
            [fill] => 0
            [affichagebr] => 0
            [referent] => Q2
            [proposition] => Array
                (
                    [value] => Array
                        (
                            [0] => 0
                        )

                    [nom] => Array
                        (
                            [0] => 
                        )

                )

        )
J'espère que vous me comprendrais et merci pour aide car je suis dans la chianli
l.laurent60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 11h23   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
tu demandes à ton visiteur de faire une liste ordonnée et tu veux trier des objets plus complexe en fonction de cet ordre?

disons que je procèderais comme ça.
  1. récupération de l'ordre dans le formulaire (je ne suis pas sur que l'ordre des données postées via un formulaire soit fiable, à ta place j'utiliserai des priorités explicites) pour avoir un tableau de type $ordre = ( identifier1 => priority1 , indentifier2 => priority2, .... )
  2. un asort( $ordre )
  3. une fonction qui ajoute la prioritée dans le tableau à trier
    Code :
    1
    2
    3
    4
    foreach( $grostableau as $item )
    {
     $item[priorite] = $ordre[ item['referent'] ];
    }
  4. un ptit usort ( $grostableau , callback $cmp_function )
    avec comme $cmp_function une fonction qui compare la priorité des items du tableaux
  5. c'est tout
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 14h31   #3
Membre du Club
 
Avatar de l.laurent60
 
Inscription : avril 2009
Messages : 163
Détails du profil
Informations personnelles :
Âge : 37

Informations forums :
Inscription : avril 2009
Messages : 163
Points : 44
Points : 44
Avant tout merci d'avoir pris un peut de temps pour m'aider.
  • un ptit usort ( $grostableau , callback $cmp_function )
    avec comme $cmp_function une fonction qui compare la priorité des items du tableaux
  • c'est tout
Merci pour ta réponse qui ma fais avancer mais je bloque sur le dernier point, j'ai mes 2 tableaux :

$NewOrdre a la clé 0 correspond l'ordre (0) de trie du 2 éme tabl a la clé - 1
a la clé 1 correspond l'ordre (1) de trie du 2 éme tabl a la clé - 1
etc

Code :
1
2
3
4
5
6
7
 
Array
(
    [0] => 3
    [1] => 2
    [2] => 1
)
Code :
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
(
    [0] => Array
        (
            [caption] => champ1
            [type] => text
            [fill] => 0
            [affichagebr] => 0
            [referent] => Q1
            [proposition] => Array
                (
                    [value] => Array
                        (
                            [0] => 0
                        )

                    [nom] => Array
                        (
                            [0] => 
                        )

                )

        )

    [1] => Array
        ( 
....
Mon problème est comment l'écrire ?
l.laurent60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h48.


 
 
 
 
Partenaires

Hébergement Web