Site web perso et modification de freeware : SQL ok ? (PHP+SQL) - SQL/NoSQL - Programmation
Marsh Posté le 16-11-2005 à 11:47:59
Ben tu as qu'a foutre 0 en valeur par défaut pour le Rank_id et hop c'est réglé.
Marsh Posté le 16-11-2005 à 11:50:50
Question bonux de syntaxe SQL :
SELECT DISTINCT(id)
FROM '.IMAGES_TABLE.'
INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id
'.$page['where'].'
'.$conf['order_by'].'
Devient en remplaçant les variables qui m'intéressent
SELECT DISTINCT(id)
FROM phpwebgallery_images
INNER JOIN phpwebgallery_images_category AS ic ON id = ic.image_id
'.$page['where'].'
ORDER BY rank_id, ..... ;
Est-ce que c'est correct de faire comme ceci, ou dois-je soit ajouter phpwebgallery_images_category dans le FROM soit mettre ic.rank_id si l'alias défini dans le inner join a une portée sur toute la requête ?
Marsh Posté le 16-11-2005 à 12:32:18
elle y est dejà dans le FROM. On applique une jointure interne (INNER JOIN) de phpwebgallery_images sur phpwebgallery_images_category si la condition id = ic.image_id est respectée.
Marsh Posté le 16-11-2005 à 12:35:51
beuah j'aime pas les inner join...
SELECT DISTINCT(id)
FROM phpwebgallery_images, phpwebgallery_images_category AS ic where id = ic.image_id
'.$page['where'].'
ORDER BY rank_id, .....
si tu veux pas t'emmerder tu fais dans ton select un nvl(rank_id, unEntier) rank_id comme ca pas besoin de t'occuper des valeurs nulles
Marsh Posté le 16-11-2005 à 13:58:34
on sent l'utilisateur d'Oracle. Dommage pour le INNER JOIN, c'est tout de meme la norme
Marsh Posté le 16-11-2005 à 14:33:14
oué mais pour les petites requetes je preferes la syntaxe oracle
Marsh Posté le 16-11-2005 à 14:51:41
c'est une question d'habitudes. Je prefere separer les conditions de jointures de la clause WHERE.
Marsh Posté le 16-11-2005 à 11:38:07
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
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 :
IDEE de modification :
Mes questions sont ?
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