Mammouth du PHP |
536 Messages
10 août 2007, 10:26
d'accord ok, j'ai pigé.
Ainsi en faisant cela :
<?
$arrayUsId = array();
for ($i=0; $i<$practiceOn->length; $i++) {
$usId = $practiceOn->item($i)->getAttribute('usId');
$idPractice = $practiceOn->item($i)->getAttribute('id');
$thePracticeFile = $cfg['ressources_root'].'/content/practice/'.$idPractice.'.xml';
$domThePracticeFile = new DOMDocument('1.0','UTF-8');
$domThePracticeFile->load($thePracticeFile);
$xpThePracticeFile = new DOMXPath($domThePracticeFile);
$date_created = $xpThePracticeFile->query('//item[@id="'.$idPractice.'"]')->item(0)->getAttribute('date_created');
$user = $xpUsers->query('//user[@id="'.$usId.'"]');
$nameUser = $user->item(0)->getAttribute('name');
$firstnameUser = $user->item(0)->getAttribute('firstname');
$existe_deja = false;
$arrayUsId[$usId]['usId'] = $usId;
$arrayUsId[$usId]['name'] = $nameUser;
$arrayUsId[$usId]['firstname'] = $firstnameUser;
$arrayUsId[$usId]['date_created'] = $date_created;
}
echo "<pre>"; print_r($arrayUsId); echo "</pre>"; >
je n'ai qu'une seule fois mon utilisateur dans mon tableau
Ensuite je tri mon tableau par date pour avoir le plus récent en haut de cette manière :
<?
foreach ($arrayUsId as $key => $row) {
$tab_idUser[$key] = $row['usId'];
$tab_nameUser[$key] = $row['name'];
$tab_firstnameUser[$key] = $row['firstname'];
$tab_dateCreated[$key] = $row['date_created'];
}
array_multisort($tab_dateCreated, SORT_DESC, $arrayUsId );
?>
et plus tard dans mon développement, je les affiche ainsi (que les 3 derniers):
<?
$i=0;
foreach ($arrayUsId as $key=>$Value){
if ( $i == 3) { break; }
else {
$usId = $Value['usId'];
$firstname = $Value['firstname'];
$name = $Value['name'];
echo $name." ".$firstname." - ";
}
$i++;
}?>
Merci en tout.
Bon je garde l'adresse de ce sujet dans mes favoris.. lol
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 !!