Jump to content

[résolu]PS 1.5 Produits en double et erreur sauvegarde


Recommended Posts

Bonjour,

 

sur une de mes installations prestashop 1.5.2 je rencontre 2 problèmes que je n'arrive pas à régler après moulte essais et recherche.

 

Premier problème :

Depuis la duplication d'un produit, quasiment tous les produits apparaissent en double (même id, nom, etc..) dans le backoffice niveau catalogue, mais pas côté front. Dans la base de donnée les produits sont bien en un seul exemplaire. Une idée?

 

Second problème :

Lors de la sauvegarde de certains produits, j'ai une erreur 500, impossible de les modifier. Et pourtant rien de particulier dans les données enregistrées.

 

Merci de toute l'aide que vous pourrez m'apporter. :)

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

Bonsoir, j'ai exactement le meme souci concernant le premier problème de jrem.

Je migrais de la 1.3.6 vers la derniere en 1.5.2, j'ai du faire une bourde a un moment dans le processus de MAJ et mes produits apparaissent par contre moi en triple sur le front officie coté visu clients mais en 1 seul dans le backoffice (donc ça c'est normal)

 

j'ai tchéqué ma BDD maintes fois en sur phpmyadmin etc, rien trouvé!

 

voici le lien de la boutique ou l'on peut voir des la page d'accueil les produits en triple: http://www.diffprod.com/boutique/

comment remeddier a ce probleme tres embetant ?

 

merci bien

Link to comment
Share on other sites

Produits en double dans le FO, vérifier ps_category_product. Cette table devrait d'ailleurs avoir un unique (primary) index sur id_category et id_product.

Categories en double dans le BO vérifier la table ps_category_shop. Doit avoir un primary index sur id_category, id_shop

Produits en double dans le BO comme expliqué par Loic (Ninja of web) verifier ps_product_shop. Doit avoir un primary index sur id_product, id_shop.

 

Si rien de tout cela n'est concluant, MP avec un lien vers un backup BDD afin de trouver la source du problème.

  • Like 1
Link to comment
Share on other sites

Bonjour a vous et merci pour votre réacttivité. Malheuresement j'ai bien vérifié il y'a avait effectivement un index avec copie dans la table ps_product_shop et egalement dans ps_product_lang qui étaient moins génant mais rien n'y change (j'ai vidé le cache de mozilla au cas ou mais non, c'est toujours en triple)

 

avez vous une autre piste ?

Link to comment
Share on other sites

Bonjour a vous et merci pour votre réacttivité. Malheuresement j'ai bien vérifié il y'a avait effectivement un index avec copie dans la table ps_product_shop et egalement dans ps_product_lang qui étaient moins génant mais rien n'y change (j'ai vidé le cache de mozilla au cas ou mais non, c'est toujours en triple)

 

avez vous une autre piste ?

Depuis ce matin je tcheck une par une toutes les tables de ma base SQL en supprimant les doublons mais rien a faire le probleme subsiste. Notez néanmois que cela ne s'applique pas aus nouveaux produits (crées spécialement pour le test)

est ce vraiment certain que le probleme vienne de la base ? et non d'un fichier de config prestashop par exemple ?

 

j'ai contacté le support prestashop par télèphone, ils étaient occupés c'est embetant je ne peux pas travailler !

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

Je ne comprends pas la réponse:

il y'a avait effectivement un index avec copie dans la table ps_product_shop et egalement dans ps_product_lang

 

select count(*), id_product from ps_category_product group by id_product,id_category having count(*) > 1;
select count(*), id_category from ps_category_shop group by id_category,id_shop having count(*) > 1;
select count(*), id_product from ps_product_shop group by id_product,id_shop having count(*) > 1;

Si quelque chose sort de ces requêtes ce sont les doublons!

Link to comment
Share on other sites

Je ne maitrise que tres peu SQL, comment procéder pour verifier a l'aide de ses requetes ?

voici ce que je vois dans!

 

ps_product_shop ps_category_product ps_category_shop

 

http://www.diffprod....ory_product.jpg

http://www.diffprod....tegory_shop.jpg

http://www.diffprod....roduct_shop.jpg

 

d'autre part, voici ce que donne la requete:

 

Erreur

 

Requête SQL: b_help.png

SELECT count( * ) , id_product

FROM ps_category_product

GROUP BY id_product, id_category

HAVING count( * ) >1;

 

MySQL a répondu: b_help.png

#1046 - No database selected

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

Et le copier coller tu maitrise?

Quand tu es dans ta base de données, onglet SQL, copier/coller!

 

J'abandonne, tu ne veux pas me donner un accès à ta BDD et tu n'as aucune compétences. Dans 5 jours on va s'apercevoir que tu consultes la mauvaise base de données... Je vais passer mes 5 jours a faire autre chose.

Link to comment
Share on other sites

Il ne faut pas exagerer!

Ma question était: comment décrypter le message d'erreur que la requete renvoie, a savoir :

Erreur
Requête SQL: Posted Image
SELECT count( * ) , id_product
FROM ps_category_product
GROUP BY id_product, id_category
HAVING count( * ) >1;

MySQL a répondu: Posted Image
#1046 - No database selected

 

comme quoi j'ai su faire un copier/coller...

 

je n'ai qu'une base de données donc pas de place a l'erreur

Link to comment
Share on other sites

La preuve !

 

Puisque copier/coller tu sais ajoutes au début de ce que tu as copié:

use diffprodsql;

 

De toutes manières avec le describe de tes tables il est impossible que tu ai des doublons, tes index primaires sont là le problème est donc ailleurs ... il nous reste plus que 75625 lignes de code à envisager ... sans accès a ton système - chaud - je passe la main.

 

Dernière chose ... copie nous ton config/settings.inc.php

Link to comment
Share on other sites

Dernière chose ... copie nous ton config/settings.inc.php

le voici

 

 

<?phpdefine('_DB_SERVER_', 'mysql5-26.perso');define('_DB_NAME_', 'diffprodsql');define('_DB_USER_', 'diffprodsql');define('_DB_PASSWD_', ***************************');define('_DB_PREFIX_', 'ps_');define('_MYSQL_ENGINE_', 'MyISAM');define('_PS_CACHING_SYSTEM_', 'CacheMemcache');define('_PS_CACHE_ENABLED_', '0');define('_MEDIA_SERVER_1_', '');define('_MEDIA_SERVER_2_', '');define('_MEDIA_SERVER_3_', '');define('_PS_DIRECTORY_', '/boutique/');define('_COOKIE_KEY_', 'fQqVJOkZzeJF6S6d4xE4zYp4cU1fOcZCGWo0jrUqf9PHZEtEuzeuhSjb');define('_RIJNDAEL_KEY_', 'qjj06a9i6SW2YMLdko4E8KJHQ1pcniyY');define('_COOKIE_IV_', '9jKEzxRs');define('_RIJNDAEL_IV_', 'qo5frKXDN9aCcjpNjaHE7Q==');define('_PS_CREATION_DATE_', '2012-11-04');define('_PS_VERSION_', '1.5.2.0');

 

Link to comment
Share on other sites

Oui c'est le theme par défaut,

je vois les doublons sur les produits phares, dans les resultats de recherches, dans les meilleurs produits et dans les promotions

mais pas dans les differentes catégories.

et en fait c'est tous les produits, sauf les nouveaux, qui sont en 3 exemplaires (et possedent le meme ID)

 

un id...190 par exemple

 

le resultat de ma requete...

import.php: Missing parameter: import_typeDocumentation
import.php: Missing parameter: formatDocumentation

mais m'y suis peut etre mal pris

 

merci de ton aide

Link to comment
Share on other sites

par contre je viens de tomber sur ça sur le BO

(je précise que tous les modules du 1.5.2 sont bien copiés et fonctionnels, mais pas ceux de mon ancienne version, d'ou ce message

 

Il y a 50 avertissements. Cacher l'avertissement
   birthdaypresent : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockbreadcrumbs : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockfanpage : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockheaderlogos : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockhtml : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockinfos : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockspecialscarousel : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockvariouslinks : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   carouselnc : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   categorymessage : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   ddlx_profil_import : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   DDLX_Slider_Free : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   freeblock : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   ganalytics : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   hotprice : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   jbx_custominvoice : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   mandat : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   modulesmanager : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   protecttpl : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   reverso : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   serverconfiguration : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   starpass : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   themeinstallator : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   totop : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   venteflash : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   birthdaypresent : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockbreadcrumbs : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockfanpage : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockheaderlogos : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockhtml : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockinfos : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockspecialscarousel : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   blockvariouslinks : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   carouselnc : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   categorymessage : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   ddlx_profil_import : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   DDLX_Slider_Free : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   freeblock : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   ganalytics : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   hotprice : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   jbx_custominvoice : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   mandat : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   modulesmanager : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   protecttpl : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   reverso : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   serverconfiguration : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   starpass : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   themeinstallator : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   totop : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.
   venteflash : le module est installé dans la base de données, mais ses fichiers sont soit manquants, soit incompatibles.

Link to comment
Share on other sites

J'en arrive a la conclusion que tu n'a jamais mis a jours tes modules et peut-être ta BDD.

 

modifie ton config/settings.inc.php, change le numero de version en quelque chose comme 1.5.0.17.

remet en place ton répertoire d'install

et lance ta mise à jour à la main AVEC la mise à jour des modules

 

Ignore les erreurs SQL puisque parties de ton schéma à plus ou moins été migré.

Link to comment
Share on other sites

Désolé du retard de ma réponse, au final je pense que ces problèmes sont du à des mises à jour ratées qui ont perturbé le bon fonctionnement de prestashop. Je suis en train de tout réintégrer sur une nouvelle installation basée sur la dernière version, j'ai pu remettre pratiquement tout et ça fonctionne. A priori si vous avez ce problème c'est certainement du à des erreurs dans la base.

 

Merci en tout cas !

Link to comment
Share on other sites

  • 1 year later...

Bonsoir,

 

Même problème, en faite 1 seul article s'est dupliqué automatiquement (en gardant le même id, donc si j'en supprime 1 les 2 disparaissent).

 

POURTANT : Jusqu'ici aucun soucis. Je n'ai fais aucune mise à jour. J'ai simplement ajouté un nouveau produit. J'y ai ajouté des attributs et déclinaisons c'est la que je me suis aperçu du soucis.

 

J'ai commencé a regarder les tables de bdd citées mais je n'arrive pas à situer le problème (je ne m'y connais pas trop en bdd).

 

Je me suis aperçu d'un détail qui cloche et qui pourrait orienter :

 

- Les déclinaisons combinées foirent. Au lieu de ne proposer dans le menu déroulant que les coloris existant pour un modèle, tous les coloris s'affichent et ceux n'existant pas indique 'n'existe pas' mais sur mon autre boutique si un article bleu et en L et M, le S et le XL ne s'affichent pas dans la liste (pour exemple)

 

PrestaShop™ 1.5.2.0

 

Quelqu'un sauraient m'orienter pour résoudre ces 2 soucis, ca ne fait pas très propre sur un site pro...

 

Merci d'avance à ceux qui prendrons le temps de m'éclairer.

 

Cdlt

 

EDIT :

 

ID Product : 53

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

Constatations:

 

1/ Doublons dans la table tax_rule (pays insérés 2 fois sur la règle de taxe 20%) - corrigé

 

2/ Déclinaisons non disponible - semble être un problème de thème - pas vraiment investigué

 

3/ Envisager un upgrade... a vérifier mais a priori ça ne devrait pas poser de problème

  • Like 1
Link to comment
Share on other sites

Merci beaucoup pour le problème de doublon. C'est rentré dans l'ordre.

Pour les déclinaisons je pense que c'est plutôt un soucis de version puisque j'ai installé le même thème sur mes 3 boutiques, et les déclinaisons fonctionnent nickel sur le 1.5.4.1 . L'autre je n'ai pas de déclinaisons mais pas de soucis liés au theme non plus.

 

Je vais regarder pour mettre à jour, mais y a t-il un moyen de revenir en arrière si ca foire, plutôt que de tout recommencer à zéro ?

 

Merci encore et bonne soirée

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...