jibi23 Posted April 16, 2013 Share Posted April 16, 2013 (edited) Bonjour, Je gère un prestashop 1.5 sur un modeste 1and1 mutualisé. Le site est finalisé, up and running. Problème, les descriptions courtes des produits sont à la place des descriptions longues, et inversement. Cela est dû à une erreur lors de l'import CSV. Il y a 400 références en lignes. Chaque référence a de nombreux attributs mais c'est un autre sujet. L'import a été très laborieux, avec un découpage des CSV, par fichiers de 45 références(lignes) puis import un à un, ca me fait mal de recommencer et j'ai peur de crasher mon catalogue produits et devoir recharger tout les attributs etc.. (65000 lignes de CSV excel en tout decoupé en plus de 50 fichiers) Ayant déjà fait quelques requêtes SQL de "recherche et remplace" pour corriger des noms de produit directement sur PHPmyAdmin et étant très satisfait de l'efficacité de cette méthode, je me demandais s'il n'existait pas une requête SQL pour simplement inverser le champ desc longue avec le champ desc courte ? Qu'en pensez vous ? Est ce faisable, ou dois je préférer réimporter via import CSV mon catalogue avec uniquement les colonnes id product / desc longue / des courte ? D'avance merci, Cdt, Edited April 16, 2013 by jibi23 (see edit history) Link to comment Share on other sites More sharing options...
jibi23 Posted April 24, 2013 Author Share Posted April 24, 2013 Personne pour une réponse ? Merci d'avance. Link to comment Share on other sites More sharing options...
Dev On Web Posted April 24, 2013 Share Posted April 24, 2013 Bonjour, Si vous êtes développeur, je vous suggère de faire un petit script PHP qui le fait. C'est assez simple et rapide Un select sur la table product_lang, un bon foreach, puis dedans, un buffer tampon ainsi que deux updates pour les descriptions inversées. Voila voila ! Link to comment Share on other sites More sharing options...
jrz06130 Posted April 24, 2013 Share Posted April 24, 2013 Bonjour A partir de phpmyadmin une petite requete de mise à jour rapide et simple update produits as po set description_c = (select description_l from produits as p1 where po.id_product = p1.id_product), description_l = (select description_c from produits as p2 where po.id_product = p2.id_product) c'est ce que j'essayerai après avoir fait une sauvegarde de la base Bon courage Julien. Link to comment Share on other sites More sharing options...
jibi23 Posted April 25, 2013 Author Share Posted April 25, 2013 (edited) Bonsoir et merci du retour, Ma formation de base est orientée webdesign HTML/CSS donc non je ne suis pas développeur au sens SQL et autres.. J'ai simplement l'habitude de manier PHPmyadmin avec 2 ou 3 requêtes SQL pour gagner du temps. En tout cas, je vais sauvegarder la base et essayer la requête de Julien voir si cela marche ou non. Je vous reviens dans les 2 cas. Edit: Demande de précision car un doute me vient à la lecture de la requête, ce ne serait pas plutôt : set description_c = (select description_l from produits as p1 where po.id_product = p1.id_product), description_l = (select description_c from produits as p1 where po.id_product = p1.id_product) ...ou peut-être que je n'ai pas la bonne lecture de cette requête. Merci Cdt Edited April 25, 2013 by jibi23 (see edit history) Link to comment Share on other sites More sharing options...
jibi23 Posted May 8, 2013 Author Share Posted May 8, 2013 Bonjour, Quelqu'un aurait il une réponse car je n'arrive pas a exécuter cette requête ? Merci Link to comment Share on other sites More sharing options...
Vinum Posted May 9, 2013 Share Posted May 9, 2013 (edited) Bonjour, Je ne pense pas que la requête donnée puisse fonctionner mais il existe une fonction mysql pour faire ce que tu veux si les colonnes sont de même type. Ce qui est le cas avec description et description_short. Je te donne la requête complète : UPDATE ps_product_lang SET description=@tmp:=description, description=description_short, description_short=@tmp Explication : On stocke la valeur de description dans un variable temporaire (@tmp). On dit que description=description_short et enfin on dit que description_short=la variable temporaire. Edited May 9, 2013 by Vinum (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted May 9, 2013 Share Posted May 9, 2013 @jibi23 : tu veux faire quoi au juste ? Link to comment Share on other sites More sharing options...
Vinum Posted May 10, 2013 Share Posted May 10, 2013 Bonjour, Si le problème est résolu, merci d'éditer votre message en le mettant [RESOLU] Link to comment Share on other sites More sharing options...
jibi23 Posted May 14, 2013 Author Share Posted May 14, 2013 Bonjour et merci de votre retour, Je pense que la solution de Vinum est bien la requête que je cherchais, je vais essayer, et je vous confirme pour mettre le topic en RESOLU. Link to comment Share on other sites More sharing options...
jibi23 Posted May 14, 2013 Author Share Posted May 14, 2013 (edited) @jibi23 : tu veux faire quoi au juste ? Rappel pour ceux qui se posent la question : le but est de faire ceci : "je me demandais s'il n'existait pas une requête SQL pour simplement inverser le champ desc longue avec le champ desc courte ?" Edited May 14, 2013 by jibi23 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now