J'utilise un outil somme toute assez bien fait pour afficher mes photos dans mon site web.
Les photos sont associées à des catégories, et une photo peut être présente dans plusieurs catégories. Pour un exemple, allez voir dans ma signature.
Mon problème est que par défaut il trie selon la date en décroissant, et d'autres critères...
config.inc.php
Code :
- $conf['order_by'] = ' ORDER BY date_available DESC, file ASC, id ASC';
|
En fait tout est stocké dans deux tables :
phpwebgallery_images
====================
id (key)
file
date
comments
author
.... |
et
phpwebgallery_images_category
=============================
image_id (key)
category_id (key) |
(phpwebgallery_images_category.image_id et phpwebgallery_images.id désignent la même chose, un numéro de photo)
Au niveau de l'affichage il va faire la requête suivante :
Code :
- $query = '
- SELECT DISTINCT(id)
- FROM '.IMAGES_TABLE.'
- INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id
- '.$page['where'].'
- '.$conf['order_by'].'
- ;';
- $result = pwg_query( $query );
|
IDEE de modification :
- Ajouter une colonne rank_id dans phpwebgallery_images_category
- Modifier le tri dans le config.inc.php pour faire le tri sur rank_id
Mes questions sont ?
- C'est ok ?
- Le comportement du order by pour les rank_id qui resteront à null dans les catégories où je m'en fous un peu de l'ordre fonctionne comment ? Il garde les enregistrement dans l'ordre de ceux trouvés en fetchant la table ?
Merci d'avance
Message édité par Toxin le 16-11-2005 à 11:43:29
---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos