trie et affichage de données xml externe

  • Auteur de la discussion Auteur de la discussion fabrice88
  • Date de début Date de début
WRInaute occasionnel
Bonjour,
je récupère des infos (actualités) depuis un xml externe a mon site.
J'arrive bien à afficher les infos qui sont dans le xml mais mon soucis est que je voudrai faire un tri par ordre croissant sur le date de debut afin d'avoir les actus chronologique et c'est la que je bloque depuis plusieurs jours.

voici mon code actuel :
Code:
foreach ($itemList as $item) 
{

    $titre = $item->getElementsByTagName('NOM');
	$titre = $titre->item(0)->nodeValue;

    $commune = $item->getElementsByTagName('ADRPROD_LIBELLE_COMMUNE');
	$commune = $commune->item(0)->nodeValue;

	$debut = $item->getElementsByTagName('DATE_DEBUT');
	$debut = $debut->item(0)->nodeValue;
	
    $fin = $item->getElementsByTagName('DATE_FIN');
	$fin = $fin->item(0)->nodeValue;
	
	$tel = $item->getElementsByTagName('ADRPROD_TEL');
	$tel = $tel->item(0)->nodeValue;
	
	$lien = $item->getElementsByTagName('ADRPROD_URL');
	$lien = $lien->item(0)->nodeValue;
	
	$mail = $item->getElementsByTagName('ADRPROD_EMAIL');
	$mail = $mail->item(0)->nodeValue;
	
	$desc = $item->getElementsByTagName('COMMENTAIRE');
	$desc = $desc->item(0)->nodeValue;
	
	$artitre = array($titre);
	$arcommune = array($commune);
	$ardebut = array($debut);
	$arfin = array($fin);
	$artel = array($tel);
	$arlien = array($lien);
	$armail = array($mail);
	$ardescription = array($desc);
	
	array_multisort($artitre, $arcommune, $ardebut, $arfin, $artel, $arlien, $armail, $ardescription);
		echo '<br/>---------------------------------------------------<br/>';
		$commune = implode("", $arcommune);
		echo $commune.' : ';
		$titre = implode("", $artitre);
		echo $titre.'<br/>';
		$debut = implode("", $ardebut);
		echo $debut.'<br/>';
		$fin = implode("", $arfin);
		echo $fin.'<br/>';
		$tel = implode("", $artel);
		echo $tel.'<br/>';
		$lien = implode("", $arlien);
		echo $lien.'<br/>';
		$mail = implode("", $armail);
		echo $mail.'<br/>';
		$description = implode("", $ardescription);
		echo $description.'<br/>';


}

dans array_multisort il semble d’après la doc que l'on peut faire ce genre de trie mais rien ne fonctionne chez moi.
j'ai essayé (c'est peut être là que je me trompe)
Code:
array_multisort($artitre, $arcommune, $ardebut, SORT_ASC, $arfin, $artel, $arlien, $armail, $ardescription);
et le résultat final ne change pas. Pas de trie, juste l'affichage des infos sorties du xml par ordre de saisie.
 
WRInaute occasionnel
rebonjour,
j'ai essayé de faire également un trie par ordre alphabétique afin de voir si sa fonctionnait mais aucun trie ne fonctionne.
j'ai essayé sa :
Code:
foreach ($itemList as $item) 
{


    $titre = $item->getElementsByTagName('NOM');
	$titre = $titre->item(0)->nodeValue;

    $commune = $item->getElementsByTagName('ADRPROD_LIBELLE_COMMUNE');
	$commune = $commune->item(0)->nodeValue;

	$debut = $item->getElementsByTagName('DATE_DEBUT');
	$debut = $debut->item(0)->nodeValue;
	
    $fin = $item->getElementsByTagName('DATE_FIN');
	$fin = $fin->item(0)->nodeValue;
	
	$tel = $item->getElementsByTagName('ADRPROD_TEL');
	$tel = $tel->item(0)->nodeValue;
	
	$lien = $item->getElementsByTagName('ADRPROD_URL');
	$lien = $lien->item(0)->nodeValue;
	
	$mail = $item->getElementsByTagName('ADRPROD_EMAIL');
	$mail = $mail->item(0)->nodeValue;
	
	$desc = $item->getElementsByTagName('COMMENTAIRE');
	$desc = $desc->item(0)->nodeValue;

	$artitre = array($titre);
	$arcommune = array($commune);
	$ardebut = array($debut);
	$arfin = array($fin);
	$artel = array($tel);
	$arlien = array($lien);
	$armail = array($mail);
	$ardescription = array($desc);
	

    array_multisort(array_map('strtolower', $arcommune), SORT_ASC, $artitre,  $ardebut, $arfin, $artel, $arlien, $armail, $ardescription);
	
		echo '<br/>---------------------------------------------------<br/>';
		$commune = implode("", $arcommune);
		echo $commune.' : ';
		$titre = implode("", $artitre);
		echo $titre.'<br/>';
		$debut = implode("", $ardebut);
		echo $debut.'<br/>';
		$fin = implode("", $arfin);
		echo $fin.'<br/>';
		$tel = implode("", $artel);
		echo $tel.'<br/>';
		$lien = implode("", $arlien);
		echo $lien.'<br/>';
		$mail = implode("", $armail);
		echo $mail.'<br/>';
		$description = implode("", $ardescription);
		echo $description.'<br/>';

		 
}

mais toujours le même résultat. la demande de trie n'est pas prise en compte
 
Discussions similaires
Haut