par
Cyrano » 21 sept. 2010, 09:28
Mouais, je ne sais pas trop comment sont structurées tes données dans la base, mais ça doit être assez curieux à observer.
Peu importe en fait, tu peux assez facilement trier ça en supprimant les doublons en travaillant sur la base de tableaux associatifs.
Je t'explique sommairement l'algorithme et je te laisse traduire ça en code.
- j'initialise une variable, par exemple $activites, que je définis comme un tableau.
- Pour chaque ligne de données :
- je crée un tableau indexé en explosant la ligne sur la base du séparateur « ; » (voir fonction explode() )
- j'ajoute chaque élément obtenu dans mon tableau initial en utilisant chaque valeur à la fois comme index et comme valeur*;
- j'applique un tri alphabétique au tableau obtenu.
Voilà, j'espère que tu réussis à suivre, c'est assez basique en fait mais peut-être pas forcément très clair... tu diras si tu as du mal
* Pourquoi comme index
et comme valeur ? Parce qu'à chaque tour, si on retrouve un doublon de la même valeur, comme on l'utilise comme index, il va écraser la valeur précédente au lieu d'un ajouter une de plus.
Mouais, je ne sais pas trop comment sont structurées tes données dans la base, mais ça doit être assez curieux à observer.
Peu importe en fait, tu peux assez facilement trier ça en supprimant les doublons en travaillant sur la base de tableaux associatifs.
Je t'explique sommairement l'algorithme et je te laisse traduire ça en code.
[list=1][*]j'initialise une variable, par exemple $activites, que je définis comme un tableau.
[*]Pour chaque ligne de données :
[list=1][*]je crée un tableau indexé en explosant la ligne sur la base du séparateur « ; » (voir fonction explode() )
[*]j'ajoute chaque élément obtenu dans mon tableau initial en utilisant chaque valeur à la fois comme index [u]et[/u] comme valeur[color=#FF0000]*[/color];[/list]
[*]j'applique un tri alphabétique au tableau obtenu.[/list]
Voilà, j'espère que tu réussis à suivre, c'est assez basique en fait mais peut-être pas forcément très clair... tu diras si tu as du mal ;)
[color=#FF0000]*[/color] Pourquoi comme index [u]et[/u] comme valeur ? Parce qu'à chaque tour, si on retrouve un doublon de la même valeur, comme on l'utilise comme index, il va écraser la valeur précédente au lieu d'un ajouter une de plus.