diff --git a/htdocs/adherents/liste.php b/htdocs/adherents/liste.php index 095ab41f302..16e6e533c8f 100644 --- a/htdocs/adherents/liste.php +++ b/htdocs/adherents/liste.php @@ -95,7 +95,7 @@ if ($filter == 'outofdate') { $sql.=" AND datefin < sysdate()"; } -$sql.= " ORDER BY $sortfield $sortorder"; +$sql.= " ".$db->order($sortfield,$sortorder); $sql.= " ".$db->plimit($conf->liste_limit+1, $offset); $result = $db->query($sql); @@ -135,7 +135,7 @@ if ($result) print_liste_field_titre($langs->trans("Type"),"liste.php","t.libelle",$param,"","",$sortfield); print_liste_field_titre($langs->trans("Person"),"liste.php","d.morphy",$param,"","",$sortfield); print_liste_field_titre($langs->trans("EMail"),"liste.php","d.email",$param,"","",$sortfield); - print_liste_field_titre($langs->trans("Status"),"liste.php","d.statut",$param,"","",$sortfield); + print_liste_field_titre($langs->trans("Status"),"liste.php","d.statut,d.datefin",$param,"","",$sortfield); print_liste_field_titre($langs->trans("EndSubscription"),"liste.php","d.datefin",$param,"","",$sortfield); print ''.$langs->trans("Action")."\n"; print "\n"; diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php index 380329a1d11..faf9d32f1bf 100644 --- a/htdocs/lib/databases/mysql.lib.php +++ b/htdocs/lib/databases/mysql.lib.php @@ -435,6 +435,36 @@ class DoliDb } + /** + \brief Défini le tri de la requète. + \param sortfield liste des champ de tri + \param sortorder ordre du tri + \return string chaine exprimant la syntax sql de l'ordre de tri + \TODO A mutualiser dans classe mere + */ + function order($sortfield=0,$sortorder=0) + { + if ($sortfield) + { + $return=''; + $fields=split(',',$sortfield); + foreach($fields as $val) + { + if (! $return) $return.='ORDER BY '; + else $return.=','; + + $return.=$val; + if ($sortorder) $return.=' '.$sortorder; + } + return $return; + } + else + { + return ''; + } + } + + /** \brief Formatage (par la base de données) d'un champ de la base au format TMS ou Date (YYYY-MM-DD HH:MM:SS) afin de retourner une donnée toujours au format universel date TMS unix. diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php index 1f92e026c06..6d00844a5f9 100644 --- a/htdocs/lib/databases/mysqli.lib.php +++ b/htdocs/lib/databases/mysqli.lib.php @@ -441,6 +441,36 @@ class DoliDb } + /** + \brief Défini le tri de la requète. + \param sortfield liste des champ de tri + \param sortorder ordre du tri + \return string chaine exprimant la syntax sql de l'ordre de tri + \TODO A mutualiser dans classe mere + */ + function order($sortfield=0,$sortorder=0) + { + if ($sortfield) + { + $return=''; + $fields=split(',',$sortfield); + foreach($fields as $val) + { + if (! $return) $return.='ORDER BY '; + else $return.=','; + + $return.=$val; + if ($sortorder) $return.=' '.$sortorder; + } + return $return; + } + else + { + return ''; + } + } + + /** \brief Formatage (par la base de données) d'un champ de la base au format tms ou Date (YYYY-MM-DD HH:MM:SS) afin de retourner une donnée toujours au format universel date tms unix. diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php index 112272596ff..a0581aacfae 100644 --- a/htdocs/lib/databases/pgsql.lib.php +++ b/htdocs/lib/databases/pgsql.lib.php @@ -377,6 +377,36 @@ class DoliDb } + /** + \brief Défini le tri de la requète. + \param sortfield liste des champ de tri + \param sortorder ordre du tri + \return string chaine exprimant la syntax sql de l'ordre de tri + \TODO A mutualiser dans classe mere + */ + function order($sortfield=0,$sortorder=0) + { + if ($sortfield) + { + $return=''; + $fields=split(',',$sortfield); + foreach($fields as $val) + { + if (! $return) $return.='ORDER BY '; + else $return.=','; + + $return.=$val; + if ($sortorder) $return.=' '.$sortorder; + } + return $return; + } + else + { + return ''; + } + } + + /** \brief Formatage (par la base de données) d'un champ de la base au format tms ou Date (YYYY-MM-DD HH:MM:SS) afin de retourner une donnée toujours au format universel date tms unix.