Jump to content

[Résolu] Requete SQL multi tables extraction produits


Recommended Posts

Bonjoru

je souhaiterais faire une requete sql pour avoir un tableau csv de synthése de la base produits.

J'ai réussi à faire la requête sur 2 tables product lang et product, mais je voudrai y rajouter le nom de la catégorie et le lien photo

 

Voici la requete que j'ai faite

select 5y1_product.id_product, 5y1_product.id_category_default, 5y1_product.on_sale,5y1_product.quantity, 5y1_product_lang.name, 5y1_product_lang.description, 5y1_product_lang.description_short
from 5y1_product
join 5y1_product_lang on 5y1_product.id_product = 5y1_product_lang.id_product

 Quelqu'un peut il m'aider

Merci

 

 

 

Link to comment
Share on other sites


Ça n'est pas la bonne section du forum pour ce type de question, je déplace ton sujet.

 

Petit rappel : le forum PrestaShop est immense. Faire un choix pertinent de la section dans laquelle l’on poste, c’est favoriser des réponses meilleures et plus nombreuses, un forum plus propre et une Communauté plus efficace !

Link to comment
Share on other sites

Voici la requête:

 

SELECT cl.name AS category_name, p.id_product, p.id_category_default, p.on_sale, p.quantity, pl.name, pl.description, pl.description_short
FROM 5y1_product p, 5y1_category_lang cl, 5y1_product_lang pl
WHERE p.id_product = pl.id_product
AND cl.id_category = p.id_category_default
 
Ca ajoute le nom de la category signalée par le id_category_default... Par contre j'ai pas compris le lien photo ?
Link to comment
Share on other sites

SELECT cl.name AS category_name, i.id_image AS image_id, p.id_product, p.id_category_default, p.on_sale, p.quantity, pl.name, pl.description, pl.description_short
FROM 5y1_product p, 5y1_category_lang cl, 5y1_product_lang pl, 5y1_image i
WHERE p.id_product = pl.id_product
AND cl.id_category = p.id_category_default
AND (p.id_product = i.id_product AND i.cover=1)
 
Sauf qu'on ne récupére que l'id de l'image cover... car l'url est pas stockée et passer par mysql pour faire un explode de l'id pour obtenir un equivalent /img/3/5/35.jpg serait trop lourd et il faudrait passer par des procédures stockées... d'autant qu'on peut avoir du png et que l'url du site peut varier (utilisation de CDN par exemple)

 

Pour obtenir l'url on va passer par PHP... du coup on a pas forcément besoin de l'id de l'image car une methode de la classe produit le fait.

 

$id_image = Product::getCover($id_product);
if (sizeof($id_image) > 0) {
    $image = new Image($id_image['id_image']);
    $image_url = _PS_BASE_URL_._THEME_PROD_DIR_.$image->getExistingImgPath().".jpg";
}

Edited by Imaginaerum (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...