Probleme de tri

Résolu
aquewel Messages postés 143 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 6 juin 2010 - 16 nov. 2004 à 17:57
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 17 nov. 2004 à 12:25
salut a tous !

voila j'ai un fichier .txt qui contient des dates (format AAAA-M-D)
le nom du fichier correspond a l'id de ma fiche

en faite, je voudrais classer tous mes fichiers avec un tite fonction !

j'ai commencé par un petit code mais je sais pas comment m'y prendre pour le reste ! et je sais pas non plus si je suis bien parti !

$chain = '2005-12-11';
$data = '$chain';
list($annee, $mois, $jours) = explode('-', $data);
echo $annee; // foo
echo '
';
echo $mois; // *
echo '
';
echo $jours;

j'ai ecris ca mais apres c'est le trou noir !

merci pour vos idees et votre aide

6 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
16 nov. 2004 à 19:55
Salut!
J'ai un tit bout de code à te proposer....

<?php
/*
-------
Params:
-------
$file = url du fichier (relatif)
$critere = A ou M ou J
$order = asc ou desc

-------
Retour:
-------
1 ou 0
*/

function classer($file, $critere, $order)
{
$fichier = @file($file);

// si aucune ligne
$count = count($fichier);
if($count == 0)
return false;

// on enlève les \r\n finaux
for($i = 0; $i < $count; $i++)
$fichier[$i] = rtrim($fichier[$i]);

// paramètre critère
$critere = strtolower($critere);
if($critere == 'a')
$GLOBALS['critere'] = 0;
else if($critere == 'm')
$GLOBALS['critere'] = 1;
else if($critere == 'j')
$GLOBALS['critere'] = 2;
else
return 0;

$order = strtolower($order);
if($order == 'asc')
$GLOBALS['order'] = -1;
else if($order = 'desc')
$GLOBALS['order'] = 1;
else
return 0;

if(!usort($fichier, "comparer"))
return 1;

$sortie = implode("\r\n", $fichier);
$fp = fopen($file, 'w');

if(!$fp)
return 0;

if(!@fputs($fp, $sortie))
return 0;

@fclose($fp);

return 1;
}

function comparer($a, $b)
{
$array_a = explode('-', $a);
$array_b = explode('-', $b);

if($array_a[$GLOBALS['critere']] == $array_b[$GLOBALS['critere']])
return 0;

return ($array_a[$GLOBALS['critere']] > $array_b[$GLOBALS['critere']]) ? - $GLOBALS['order'] : $GLOBALS['order'];
}

echo classer('DATEID/28.txt', 'j', 'desc');
?>


Voila, dis moi ce que tu en penses

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
16 nov. 2004 à 21:05
eh eh c'ets ce que tu as posté...
c'ets quoi ? un QSORT ?
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
16 nov. 2004 à 21:20
Salut!
"eh eh c'ets ce que tu as posté...
c'ets quoi ? un QSORT ?"
Dsl, j'ai pas compris, c quoi la question?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
16 nov. 2004 à 21:47
"Dsl, j'ai pas compris, c quoi la question?"
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

deux citations présentes sur ton ancien post....
^^

sinon, un QSORT c'est un algorythme de tri pour trier un tableau javascript, on fait tab.qsort par exemple... c'ets l'algo qui est présent dans la libc...

t'as utilisé quoi comme algo de tri ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
16 nov. 2004 à 21:56
Salut!
Je sais pas quel algo utilise la fonction usort... Mais je suppose que c un Quick Sort ; je n'ai fais que de définir la fonction de comparaison

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
17 nov. 2004 à 12:25
ok merci
0
Rejoignez-nous