ordonner les résultats d'un fichier

Mammouth du PHP | 536 Messages

23 juil. 2007, 14:28

Bonjour,

j'aurais voulu savoir s'il existait une fonction en xml qui permet de faire un affichage (d'utilisateurs par exemple) par ordre alphabétique (du genre en SQL ORDER BY...) depuis un attribut d'un noeud ?

Et aussi de faire une "pagination" des résultats trouvés. C'est à dire affciher 20 résultats, et les reste sur une page 2.

Je sais pas si j'étais assez clair..

EDIT :
j'ai fais quelques recherches, et il s'avère que la solution qui permettrait de faire ça serait de faire un tableau avec les résultats que je ressors et ensuite utiliser la fonction sort() sur ce tableau.

Mais comment créer un tableau avec ceci :
<?
$user = $xpPractices->query('//user');

  for ($j=0; $j < $practice->length ; $j++) { 
  $idUser = $user->item($j)->getAttribute('id');
  $name = $user->item($j)->getAttribute('name');

...

echo "<tr bgcolor='".( ($i++ % 2 == 0) ? '#FFFFFF' : '#EEEEEE' )."'>
  <td>".$name."</td>
  </tr>";
}
?>
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Eléphant du PHP | 100 Messages

31 juil. 2007, 08:58

Pour le tri par nom, tu peux utiliser usort() pour utiliser ton propre algo de tri. (cf exemple sur php.net)
Pour la pagination, il te suffit de n'afficher que les N premiers, puis les N suivants ... a ma connaissance (pas des plus experte en XML) il n'y a pas, comme en SQL, de clause LIMIT dans une requete XML. C'est donc à l'affichage qu'il faut limiter les résultats.
Script gratuit de videothèque: PhpMesFilms
sur http://phpmesfilms.dyndns.org/

Mammouth du PHP | 536 Messages

31 juil. 2007, 09:31

oui mais quand on ne connais pas le nombre exacte d'enregistrement, comment alors faire pour afficher par exemple 20 résultats par pages ? Et comment faire des liens les pages qui contiennent les résultats suivants et précédents ?

Sinon en ce qui concerne le tri des résultats que l'non sort directement d'un fichier xml, tu dis qu'on peut utiliser directement la fonction usort() ?
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!