Soucis trie de date fichier XML

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Soucis trie de date fichier XML

Re: Soucis trie de date fichier XML

par fabrice88250 » 11 mai 2012, 10:33

ok je viens de faire le test sa à l'air d’être bon merci.
voilà comment j'ai fait pour avoir le bon trie (si plus simple ou si mieux je vous écoute):
	$debuts = array();
	
	foreach ($itemnom as $item) 
	{
	$debut = $item->getElementsByTagName('DATE_DEBUT');
	$debut = $debut->item(0)->nodeValue;
	$debut = date('Y/m/d', strtotime($debut));
	$debuts[] = $debut.'<br/>'; 
	}
	$resultdate = array_unique($debuts);
	asort($resultdate);
	$debutsmenu = implode("", $resultdate);
	echo $debutsmenu;

Re: Soucis trie de date fichier XML

par xTG » 10 mai 2012, 21:50

La fonction date() est là pour cela. :P
$date = '01/01/2013';
$date = date('YYYY/MM/DD', strtotime($date));
Et si le format français n'est pas supporté (tu le verra assez vite), tu peux retravailler la date manuellement à coup de explode() sur le slash puis reconstruction de la chaîne dans le bon ordre.

Re: Soucis trie de date fichier XML

par fabrice88250 » 10 mai 2012, 21:05

le hic c'est que je ne peus pas modifié les dates qui sont dans le fichier xml.
Par contre puis-je les récupérer au format 01/01/1970 et faire en sorte d'avoir le format que tu préconise ? 1970/01/01

Re: Soucis trie de date fichier XML

par xTG » 10 mai 2012, 19:23

Avec un format YYYY-MM-DD tu auras un tri correct avec cette fonction. ;)

Soucis trie de date fichier XML

par fabrice88250 » 10 mai 2012, 18:58

Bonjour,
j’essaie de trier des dates qui sont dans un fichier xml afin d'afficher les actus chronologiquement.
Je soucis c'est que au lieu d'avoir un trie réél des date jour moi année j'ai un trie que je fait dabord sur tout les jour puis tout les moi puis tout les année.
en gros j'ai ce résultat :
01/01/2012
01/04/2012
01/06/2012
01/07/2012
01/08/2012
02/05/2012
02/06/2012
02/07/2012
02/08/2012
03/10/2012....

mon code actuel est :
	$debuts = array();
	
	foreach ($itemnom as $item) 
	{

	$debut = $item->getElementsByTagName('DATE_DEBUT');
	$debut = $debut->item(0)->nodeValue;

	$debuts[] = $debut.'<br/>'; 
	}

	$resultdate = array_unique($debuts);
	asort($resultdate);
	//print_r($resultdate);
	$debutsmenu = implode("", $resultdate);
	echo $debutsmenu;
Comment puis-je faire pour que les date soit dans le bon ordre ?