Comment trier mon numero en PHP
loulou
-
schweppes41 Messages postés 140 Statut Membre -
schweppes41 Messages postés 140 Statut Membre -
Bonjour,
je veux savoir comment trier mon numero qui est sous forme 12/2014 j'ai deja ce code :
alors mon numero est de type varchar mais il ne me trie pas mes numero juste il trie la premiere partie il prend en consideration juste le numero 12 mais pas 12/2014
j'attend vos reponse
merci d'avance
je veux savoir comment trier mon numero qui est sous forme 12/2014 j'ai deja ce code :
$query_mail = "SELECT * FROM archivdossier order by dossierId Asc"; // ORDER BY renvoi les données triées (ici par nom croissant)
alors mon numero est de type varchar mais il ne me trie pas mes numero juste il trie la premiere partie il prend en consideration juste le numero 12 mais pas 12/2014
j'attend vos reponse
merci d'avance
A voir également:
- Comment trier mon numero en PHP
- Comment trier par ordre alphabétique sur excel - Guide
- Numéro père noël whatsapp - Accueil - Messagerie instantanée
- Numero prive - Guide
- Numero imei - Guide
- Numero de serie idm ✓ - Forum Logiciels
2 réponses
Bonjour,
Il est tout à fait normal qu'il trie par ordre Asc car c'est un type VARCHAR, si tu veux qu'il trie ta date il faut mettre le type en Datetime !
Si tu veux rester en varchar, va falloir faire une fonction de trie en PHP !
Il est tout à fait normal qu'il trie par ordre Asc car c'est un type VARCHAR, si tu veux qu'il trie ta date il faut mettre le type en Datetime !
Si tu veux rester en varchar, va falloir faire une fonction de trie en PHP !
Essaye en adaptant avec ça :
$array = ["12/2014", "12/2007", "12/2008", "8/2010", "01/2011"];
$tmp_array = [];
$array_last = [];
foreach ($array as $key => $value) {
array_push($tmp_array, date_create_from_format('m-Y', str_replace("/", '-', $value)));
}
usort($tmp_array, function($a, $b) {
$ad = $a;
$bd = $b;
if ($ad == $bd) {
return 0;
}
return $ad < $bd ? 1 : -1;
});
foreach ($tmp_array as $key => $value) {
array_push($array_last, $value->format('m/Y'));
}
var_dump($array_last);
merciii d'avance