begin process at 2012 05 31 11:15:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

tri multiple avec répercution sur tableau associatif


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tri multiple avec répercution sur tableau associatif

samedi 22 octobre 2005 à 14:34:42 | tri multiple avec répercution sur tableau associatif

arginine

Bonjour,

j'ai "crée" une petite fonction qui permet de lister les fichier jpg d'un dossier puis de créer un tableau associatif comprenant deux colonnes (IMAGE) et (DATEIMAGE) dans lequelles sont stockés le nom du fihier jpg et la date de ce dernier (via les infos exif).

Avec array_multisort j'arrive bien à trier chacun l'un ou l'une colonne du tableau mais ce que je n'arrive pas c'est de trier une collone (DATEIMAGE) et de faire en sorte que ce tri AFFECTE aussi l'autre colonne (IMAGE) ...

En résumé, comment faire pour trier un tableau associatif sur une colonne et que le résultat du tri AFFECTE AUSSI l'autre colonne ....


Un print_r du tableau me donne ca:

Array
(
    [image] => Array
        (
            [0] => toto.jpg
            [1] => tata.jpg
            [2] => 92.jpg
            [3] => 93.jpg
            [4] => 94.jpg
         
        )

    [dateimage] => Array
        (
            [0] => 2000-12-26 05:08:08
            [1] => 2005-08-27 17:39:41
            [2] => 2005-09-04 18:24:09
            [3] => 2005-09-04 18:29:43
            [4] => 2005-09-04 18:29:44
         
        )

)


La colonne DATEIMAGE est bien triée mais aucune répercution n'a eu lieu sur la colonne IMAGE !!!
(ex: la date de toto.jpg est 2005-09-04 18:29:44 et j'aurais donc aimé a faire en sorte que le nouvel indice de toto.jpg soit 4 et non pas 0)....


Ci joint le code de ma fonction:

<pre><?

// Fonction de scan du repertoire
function scandir($dirstr)
{$files = array();
 $fh = opendir($dirstr);
 while (false !== ($filename = readdir($fh)) )
 {
 if ( $filename != "." && $filename != ".." && eregi(".jpg", $filename) )
 {
 // Lecture des infos EXIF et determination de la date/heure de l'image
 $exif = exif_read_data("./thumbnails/".$filename);
 if(empty($exif['DateTime'])) {$dateimage = date("Y-m-d H:i:s",

filemtime($dirstr."/".$filename));}
 else
 {
 $dateimage1 = $exif['DateTime'];
 // Formqtqge date/heure
 $dateimage_raw1 = explode(' ',$dateimage1);
 $dateimage = str_replace(':','-',$dateimage_raw1[0]).' '.$dateimage_raw1[1];
 }

$files['image'][] = $filename;
$files['dateimage'][] = $dateimage;

 }
 }
 closedir($fh);
 array_multisort($files['dateimage'] , SORT_ASC );

 return $files;
}
 
$listing_dossier=scandir("./thumbnails");
 print_r ($listing_dossier);
 
?>
</pre>

Par avance Merci beaucoup,


Francis

samedi 22 octobre 2005 à 16:02:11 | Re : tri multiple avec répercution sur tableau associatif

monoceros01

C'est normal, $files['image'] et $files['dateimage'] sont deux tableaux qui n'ont aucun lien entre eux.
Je te conseille plutot de faire un tableau de ce style :
Array(
      "2000-12-26 05:08:08" => 94.jpg
      "2005-08-27 17:39:41" => 93.jpg
      "2005-09-04 18:24:09" => 92.jpg
      "2005-09-04 18:29:43" => tata.jpg
      "2005-09-04 18:29:44" => toto.jpg
    );


en remplaçant :
$files['image'][] = $filename;
$files['dateimage'][] = $dateimage;


par :
$files[$dateimage] = $filename;


(La probabilité que deux image aient la même date de modification est infime :) )

Ainsi quand tu rangeras les clefs, valeurs suivront =)
lundi 24 octobre 2005 à 13:22:18 | Re : tri multiple avec répercution sur tableau associatif

malalam

Administrateur CodeS-SourceS

Hello,

c'est à mon sens la meilleure solution.
Après, si tu veux afficher (ou modifier) ton $tableau['image'] en fonction de ton $tableau['dateimage'], il  a une solution, mais c'est lourd :

<?php
$tab = array (
'image' => array (
'toto.jpg',
'tata.jpg',
'92.jpg',
'93.jpg',
'94.jpg'
),
'dateimage' => array (
'2000-12-26 05:08:08',
'2005-08-27 17:39:41',
'2005-09-04 18:24:09',
'2005-09-04 18:29:44',
'2005-09-04 18:29:43'
)
);

asort ($tab['dateimage']);
?>
<pre>
<?php
foreach ($tab['dateimage'] as $clef => $dump) {
  echo $tab['image'][$clef], '<br />';
}
?>
</pre>
<?php
?>



Cette discussion est classée dans : image, tableau, filename, jpg, dateimage


Répondre à ce message

Sujets en rapport avec ce message

étirer une image avec du css [ par eax ] bonsoir,je souhaite mettre une image en fond dans un tableau (dans la balise TD). je souhaiterai que cette image soit étirée, qu'elle prenne toute la PROJET [ par ziziboss ] Voilà je débute en PHP et j'ai envie de creer un petit projet je pense assez simple pour l'instant :J'ai une page HTML avec un tableau. Disons que dan Tableau + image [ par Metrox ] 'lut all,bete question html:j'ai un tableau avec une image d'arrière plan...table background="image.jpg" width="150"mais le probleme c'est que si la t a l'aide. Question formulaire [ par dedelchipie ] bonjour,J'ai une petite question à vous poser: Je suis en train de faire une page pour ajouuter un tableau de peinture: titre , version, type et l'ima Tableau et image en PHP [ par marchepied ] Bonjour, je suis plus que novice en PHP et je suis face à un problme que je n'arrive pas à résoudre. Je cherche à créer une base de donnée qui contien Upload Image [ par piep14 ] Bonjour, je dois faire un upload d'une photo. J'ai donc fait ceci :      $date = date('Y/m/d H:i:S');   $file = $_FILES['userfile'];   $stock = 'photo Upload apres Redimension d'une image jpg sous Free [ par MrManchot ] Tout déja Bonjour a tous  (c'est mon premier poste ici).Je suis débutant en php, et je n'arrive pas a Uploader apres avoir redimensionné une image jpg Affichage...suite de tableau [ par Brikse ] Hello tout le monde.... Je rencontre un problème au niveau de l'affichage dans mon code PHP. Alors, le truc est simple.J'ai un code qui insère une ima comment faire une incrementation a parir d'un click sur une image? [ par fredericmaill ] Bonjour, <SPAN lan Upload , nom d'image, BDD mysql [ par Grumo ] Bonjour à tous,voilà je me suis constitué un petit formulaire me permettant  d'uploader des images dans une bdd msql (enfin leur nom); ce script me ge


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,234 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales