bonjour,
Je test actuellement simplexml mais d’après se que je vois on est assez limiter alors je passe sur dom pour pouvoir avoir plus de possibilité.

actuellement j'ai un fichier xml dont je fais simplement afficher les données dans un page php (comme avec simplexml).

maintenant je souhaiterai pouvoir organiser mes données comme par exemple trier par date, limiter le nombre d'affichages a 10 (ou plus ou moins) et c'est là, étant débutant dans se type de programmation que j'ai besoin de votre aide.

je voudrai avoir un affichage trié par date (il y a bien un champ date dans le xml (date_debut et aussi un date_fin).

Voici mon code actuel que je voudrai adapté pour avoir le trie croissant par date_debut. (avec sql pas de soucis mais avec xml je sais pas)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
$fichier = 'monfichier.xml';
$dom = new DOMDocument();
if (!$dom->load($fichier)) {
    die('Impossible de charger le fichier XML');
}
 
$itemList = $dom->getElementsByTagName('sit_liste');
foreach ($itemList as $item) 
{
    $titre = $item->getElementsByTagName('NOM');
	if ($titre->length > 0) 
	{
        echo $titre->item(0)->nodeValue;
    } 
 
	else 
	{
        echo '(Sans Nom)';
    }
 
    echo '<br />'."\n";
 
    $commune = $item->getElementsByTagName('ADRPROD_LIBELLE_COMMUNE');
    if ($desc->length > 0) 
	{
        echo ' Commune : '.$commune->item(0)->nodeValue.'<br/>'."\n";
    }
 
    $debut = $item->getElementsByTagName('DATE_DEBUT');
    if ($desc->length > 0) 
	{
        echo ' DATE_DEBUT : '.$debut->item(0)->nodeValue.'<br/>'."\n";
    }
 
    $desc = $item->getElementsByTagName('COMMENTAIRE');
    if ($desc->length > 0) 
	{
        echo ' '.$desc->item(0)->nodeValue.'<br/>'."\n";
    }
 
    echo '<br/>'."\n";
}