Trier les valeurs d'un menu déroulant dans l'ordre ALPHA - PHP - Programmation
Marsh Posté le 23-02-2010 à 12:43:19
ReplyMarsh Posté le 23-02-2010 à 12:52:41
Tirkyth a écrit : Salut, |
Le voici :
function getHtmlList($tableName, $default=0, $grid=false ) |
Marsh Posté le 23-02-2010 à 13:18:59
Ah, du joomla !
Bon je te propose une solution pour commencer, c'est mettre un asort() de cette façon :
Code :
|
Si ça ne fonctionne pas, il va falloir me transmettre le code qui correspond à l'appel de
Code :
|
Marsh Posté le 23-02-2010 à 14:45:43
Tirkyth a écrit : Ah, du joomla !
|
Merci pour ton aide.
J'ai testé mais ça me génère une erreur sur l'ensemble de mes menus déroulants dans le CMS
Warning: Invalid argument supplied for foreach() in /homez.305/toto/www/joomla/libraries/joomla/html/html/select.php |
Concernant la méthode getListForHtml, voici le code :
function getListForHtml( $first_txt='' ){ |
Marsh Posté le 23-02-2010 à 15:25:50
OK, alors enlèves le asort.
Essaye, sur la première ligne de la dernière méthode getListForHtml, de mettre à la place :
Code :
|
Ca devrait marcher, par contre du coup c'est un peu dommage car je crois que dans ton interface d'administration normalement tu dois pouvoir ordonner tes entrées. Là le fait de trier par ordre alphabétique fait que tu perds la fonctionnalité d'ordonnancement personnalisé.
Marsh Posté le 23-02-2010 à 16:52:02
Tirkyth a écrit : OK, alors enlèves le asort.
|
Le top !
Un grand merci !
Marsh Posté le 23-02-2010 à 18:21:49
Tirkyth a écrit : OK, alors enlèves le asort.
|
Excuses-moi de prendre la tête mais je me permet de réouvrir ce topic sachant que c'est complètement lié.
Je souhaite faire la même opération en front dans un module qui fait remonter ces infos également dans un menu déroulant.
J'ai essayé de remplacer
function getHtmlList($table, $title, $id ){ |
par
function getHtmlList($table, $title, $id ){ |
mais rien n'y fait...j'ai essayé également avec value pour info.
Le code devient comme "commenté" quand je change la valeur c'est assez étrange.
Marsh Posté le 24-02-2010 à 11:38:56
Tu ne me prends pas la tête rassure toi
Sauf que là je vais avoir un peu de mal à t'aider.
Tu as fait exactement ce qu'il faut faire, mais si ça ne fait rien peut-être que tu n'es pas dans le bon fichier ?
Si tu glisses tout au début de la méthode un
Code : |
Qu'obtiens-tu ?
Marsh Posté le 24-02-2010 à 19:34:06
Tirkyth a écrit : Tu ne me prends pas la tête rassure toi
|
Alors, si je le place juste avant la méthode :
En front --> j'ai une page blanche avec NULL NULL NULL.
Et si je le met juste après "function getHtmlList($table, $title, $id ){"
En front --> il ne se passe rien de spécial.
Je ne sais pas si cela vient de mon éditeur (Dream) mais il se passe la même chose qu'en changeant la valeur de ORDER BY, la moitié du code de la méthode devient orangé "genre commenté".
Au cas où, voici le code entier de la page en question :
defined('_JEXEC') or die('Restricted access'); |
Et le code de la page qui appel ce menu déroulant que je souhaite afficher en ordre alpha (type, department, area) :
<?php if ( $use_ajax ): ?> |
Merci
Marsh Posté le 25-02-2010 à 18:41:11
kameha a écrit : |
Il faut le mettre juste après "function getHtmlList($table, $title, $id ){" en effet.
Cela dit c'est très étrange que ça ne fasse rien de spécial. J'avoue que là je n'ai pas trop d'autre idée
Marsh Posté le 26-02-2010 à 11:13:10
Afficher le type et les valeurs des 3 variables qu'on passe en paramètre, et arrêter l'execution du script. Ce qui fait que si ta page s'est affichée correctement, je serais tenté de penser qu'il ne passe pas dans cette fonction.
Bon, et si tu mettais, juste au dessus du return :
Code :
|
Marsh Posté le 03-03-2010 à 21:14:29
Il ne se passe rien rien non plus :-(
Pour info si je supprime cette partie
defined('_JEXEC') or die('Restricted access'); |
...le module continue de fonctionner
Plus rien ne s'affiche par contre si je supprime la 2ème partie, à savoir :
//conflict between component searchform and module searchform because both use same id's |
Marsh Posté le 04-03-2010 à 09:17:40
Oui donc si en supprimant le code il continue à fonctionner, c'est qu'en effet il ne passe pas dedans. Mais alors là, pour t'aider sans avoir l'organisation des fichiers, sans voir le code, et sans avoir l'appli pour tester, je suis désolé mais j'en suis incapable
Marsh Posté le 23-02-2010 à 12:30:39
Bonjour à tous,
j'ai un menu déroulant dans une php que je fais remonter de cette manière :
<?php echo $this->getHtmlList('towns', $this->row->town_id) ?>
Je souhaite que les infos dans ce menu soient triées par ORDRE ALPHA.
Savez-vous comment faire cela svp? Je ne suis pas expert en dev. et j'ai un peu du mal à comprendre le fonctionnement de sort() s'il s'agit bien de cela.
Merci d'avance,
Message édité par kameha le 23-02-2010 à 18:22:05