Bonjour,
J'ai un gros problème...
J'ai passé toute la journée dessus, je pense arriver vers la fin mais j'ai besoin de vous.
Je vous explique le problème :
Nous avons dans une table "photos" un champ "photo" en varchar qu'on ne peut pas changer... car le site a toujours fonctionné avec et plusieurs applications utilisent ce champ.
J'essaie de classer ces photos mais ce que je fais me classe toujours mal les chiffres.
Il est de la forme :
photoid_numero.jpg
Un exemple :
Je fais un ORDER BY monchamp ASC, cela m'affiche :
8_1.jpg
8_10.jpg
8_11.jpg
8_12.jpg
8_2.jpg
8_3.jpg
8_4.jpg
8_5.jpg
8_6.jpg
8_7.jpg
8_8.jpg
8_9.jpg
Il me met toujours le 10, 11, 12... entre le 1 et le 2 !!
Au lieu de :
8_1.jpg
8_2.jpg
8_3.jpg
8_4.jpg
8_5.jpg
8_6.jpg
8_7.jpg
8_8.jpg
8_9.jpg
8_10.jpg
8_11.jpg
8_12.jpg
Savez-vous comment faire SVP ???
J'avais pensé à un tableau mais en faisant la fonction sort, cela me sort toujours dans le même ordre...
Je vous donne mon code :
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 $query = "SELECT * FROM photos WHERE idphoto='$id' ORDER BY idd DESC"; $query2 = mysql_query($query) or die(mysql_error()); $tab = array(); while ($a=mysql_fetch_assoc($query2)) { $possep=strpos($a['photo'],"_"); $pospt=strpos($a['photo'],"."); $lngnum=$pospt-$possep-1; $nbpht=substr($a['photo'],$possep+1,$lngnum); $faire = $nbpht.", "; $tab[] = $faire; //$tab.= ", ".$nbpht; //rsort($tab); } if (is_array($tab)) { sort($tab); foreach ($tab as $value) { echo $value; } }
Pouvez-vous m'aider SVP ???
Pas facile de se faire comprendre, j'espère que vous aurez compris
Merci d'avance.
Partager