Requête d'export de données Mysql vers fichier CSV - SQL/NoSQL - Programmation
Marsh Posté le 27-05-2011 à 15:03:46
1) requête sql pour récupérer les produits
2) pour chaque produit, tu fais une requête qui récupère les images secondaires et tu les mets à la fin de la ligne dans le csv. Si y'a moins que 10 images, tu complètes avec des colonnes à vide.
3) enregistrement des données dans le fichier csv.
Marsh Posté le 27-05-2011 à 15:30:06
Point 1 ok
point 3 ok
Par contre le point 2 Je dois bien vous avouer ne pas parvenir à savoir par où commencer!
Marsh Posté le 27-05-2011 à 15:42:28
ben une boucle
Code :
|
Perso, j'ai tendance à bufferiser dans un tableau les lignes csv et à écrire d'un coup tout le tableau au format csv dans le fichier.
Marsh Posté le 27-05-2011 à 15:47:56
SELECT products.products_model, products_images.products_images FROM products INNER JOIN products_images ON products.products_id=products_images.products_id WHERE 1
Ceci me sort une ligne complète par image au lieu de me mettre toutes les images d'un même produit sur une ligne avec le reste des renseignements
Marsh Posté le 27-05-2011 à 15:48:39
Heuu, j'aurais dû prévenir que je me suis arrêté après une année de programmation.
J'étais un crack en C
Marsh Posté le 27-05-2011 à 15:56:36
Bennyb666 a écrit : SELECT products.products_model, products_images.products_images FROM products INNER JOIN products_images ON products.products_id=products_images.products_id WHERE 1 |
C'est une solution mais je te l'ai pas proposée car ça va pas être très pratique pour avoir qu'une ligne par produit dans ton csv (mais on peut y arriver quand même). Ma méthode est plus pratique mais fait exécuter plus de requêtes sql.
Marsh Posté le 27-05-2011 à 15:57:30
Bennyb666 a écrit : Heuu, j'aurais dû prévenir que je me suis arrêté après une année de programmation. |
Le sql doit pas être ton fort non plus plus vue le "WHERE 1" à la fin de ta requête
Marsh Posté le 27-05-2011 à 16:26:36
C'est phpmyadmin qui rajoute ça automatiquement. Comme ça ne gêne pas, je l'ai laissé
Marsh Posté le 27-05-2011 à 16:28:06
En SQL Server tu peux faire ca pour arriver a ce que tu veux (avant de le transformer en csv)
Code :
|
Edit: pff c'est vendredi...
Marsh Posté le 27-05-2011 à 11:51:57
Bonjour à tous,
J'ai une base de données Mysql pour mon site.
J'extrais déjà les données de cette base produits pour constituer un fichier catalogue CSV.
Mes fiches produits ont une photo principale, dont l'url est reprise dans la table products, mais elles ont également des photos secondes qui sont contenues dans la table products_image
Je souhaiterais que ma requête reprenne également les url de ces photos pour les inclure dans mon fichier csv mais je ne sais comment faire...
La table d'image se compose ainsi:
ID
product_id
nom de l'image
et ma requête actuelle est du type: Select * from products.
Comment inclure correctement d'ajouter toutes les urls des photos secondaires SACHANT que tout produit n'a pas forcément d'image secondaire et que le nombre peut donc varier de 0 à 10.
Merci!