base endommagée à cause d'un mauvais URL !

Problèmes, suggestions et questions concernant l'annuaire Arfooo

base endommagée à cause d'un mauvais URL !

Messagede fredm » Lun 31 Mai 2010 00:31

Bonjour,

Accedentellement, à cause du cache du navigateur j'ai été sur le lien http://www.visipure.com/admin/category/saveCategory
Attention, si vous changez le domaine par le votre, vous allez probablement abimer la base !
J'ai eu le message d'erreur suivant:
Code: Tout sélectionner
/admin/category/saveCategory
  (8) Undefined index: parentCategoryId   DataAggregator.php   line 28     31-5-10   2:50
FrontController->dispatch() # line   18, file: /home/visipure/www/index.php
  call_user_func_array(Array[2], Array[0]) # line  220, file: /home/visipure/www/core/FrontController.php
    Admin_CategoryController->saveCategoryAction() # line    0, file: unknown
      DataAggregator->__get("parentCategoryId") # line  198, file: /home/visipure/www/admin/controllers/CategoryController.php

Ca crée une catégorie sans parent, je l'ai effacé directement dans PHPMyAdmin (dans la table "categories").
Depuis ce moment (je pense) j'ai le problème suivant lorsque je souhaite modifier un site:
Image
Je ne peux plus modifier les sites !! :evil:
Annuaire Visipure généraliste, avec sélection de sites.
Assurance Guide et devis, avec actualité de l'assurance.
Avatar de l’utilisateur
fredm
 
Messages: 23
Inscription: Jeu 27 Mai 2010 14:35
Localisation: Nice


Re: base endommagée à cause d'un mauvais URL !

Messagede onico0 » Lun 31 Mai 2010 01:18

Ha! Arf, Peut-être encore un utilisateur à qui une petite fonction vite faite postée sur le pour reconstruire la table categoriesparents serait utile :D

Désolé de ne pouvoir t'aider plus fredm, c'est pas cool ce qui t'arrive... essaye de comparer tes tables mysql avec une nouvelle install pour réparer s'il y a qq chose de cassé... :? bonne chance :oops:
Webmaster expert WordPress, je propose aussi de l'hébergement Web sur Easy Hoster.
onico0
 
Messages: 387
Inscription: Lun 21 Sep 2009 13:49
Localisation: Agence Web Belgique

Re: base endommagée à cause d'un mauvais URL !

Messagede Arf » Lun 31 Mai 2010 10:25

Bonjour,

Pourquoi être passé via phpmyadmin, il n'était pas possible de la supprimer via l'admin ?
Il faut que je créé l'outil pour réparer les catégories, mais je dois trouver le temps puis le tester pour être sûr de pas fournir un outil non fiable.
Arf
Administrateur du site
 
Messages: 3082
Inscription: Lun 21 Jan 2008 14:53

Re: base endommagée à cause d'un mauvais URL !

Messagede fredm » Lun 31 Mai 2010 16:21

Non justement la catégorie ne s'effaçait pas par l'admin.
J'ai passé beaucoup de temps à comparer les tables... etc mais je n'ai rien trouvé.
Je crois que j'y suis d'une résintall :cry:
Annuaire Visipure généraliste, avec sélection de sites.
Assurance Guide et devis, avec actualité de l'assurance.
Avatar de l’utilisateur
fredm
 
Messages: 23
Inscription: Jeu 27 Mai 2010 14:35
Localisation: Nice

Re: base endommagée à cause d'un mauvais URL !

Messagede onico0 » Lun 31 Mai 2010 16:49

Si tu veux faire ça, il te faudra réinstaller arfooo et recréer tes catégories à la mains une par une...

Dans la table arfooo_categoryparents en fait, tu as des correspondance entre tes catégories et leur parents, enfants, la profondeur de la catégorie etc... c'est assez complexe à générer... Une fois que c'est cassé, AÏE la galère, pour regénéré ça à la mains, c'est compliqué...
et c'est pour ça que j'embête Arf à chaque topic où on cause de cette table pour qu'il nous créé une fonction permettant de réparer ça...

Evidemment, il faut s'armer de patience, comme chacun de nous, Arf a un emploi du temps probablement très bien chargé et tout ce qu'il fait pour le script et la communauté est gratos', c'est juste du pur service et de la pure générositée...

Bon, alors, qu'est-ce que je peux te conseiller... :

- soit être patient.. peut-être que d'ici quelques jours Arf aura fait la fonction, mais peut-être dans quelques mois aussi on ne sait pas :D
- payer Arf pour du support personnalisé, et encore, pas sûr qu'il ait le temps , mais comme on dit, tout à un prix :D
- apprendre à développer sévèrement bien pour comprendre comment cette table est générée, mais d'abord faut comparer et comprendre la différence entre une table arfooo_categoryparents et la tienne... ça peut se jouer à une seule entrée de la table qui est buggée... galère !

Ce que tu aurais du faire, c'est des sauvegardes mysql régulière de ton arfooo...

Demain si ta table de site est crachée, tu feras quoi...

On ne fait jamais trop de sauvegarde...

Bonne chance, j'espere t'avoir quand même un peu aidé ;)
Webmaster expert WordPress, je propose aussi de l'hébergement Web sur Easy Hoster.
onico0
 
Messages: 387
Inscription: Lun 21 Sep 2009 13:49
Localisation: Agence Web Belgique

Re: base endommagée à cause d'un mauvais URL !

Messagede siteofficiel » Ven 11 Juin 2010 13:18

Coucou,

J'ai posté un petit script qui permet de générer les commandes sql pour remplir la table parentchilddepth :)

topic2302.html

A+
SiteOfficiel
http://www.siteofficiel.fr/ Annuaire généraliste
siteofficiel
 
Messages: 6
Inscription: Ven 11 Juin 2010 12:41

Re: base endommagée à cause d'un mauvais URL !

Messagede onico0 » Dim 22 Aoû 2010 11:37

Je viens d'avoir le même bug et le script à fonctionné chez moi !

Script de Siteofficiel :

siteofficiel a écrit:Petit script php permettant de créer les commandes sql pour remplir la table parentchilddepth

genereParentChildDepth.php
Code: Tout sélectionner
    <?php
    // remplacer par vos valeurs de connexion
    $host="";
    $user="";
    $pwd="";
    $base="";
    $mysql_link = mysql_connect($host,$user,$pwd);
    mysql_select_db($base);

   $dbsite=""; // prefixe de votre table sans "_" par exemple : "arfooo"
    echo "TRUNCATE TABLE `".$dbsite."_categoryparents`;<br>\n";
    $sql = "SELECT * FROM ".$dbsite."_categories";
    $result=mysql_query($sql);
    while ($row=mysql_fetch_object($result)) {
       $depth=0;
       echo "INSERT INTO `".$dbsite."_categoryparents` (`parentId`, `childId`, `depth`) VALUES ($row->categoryId,$row->categoryId,$depth);<br>\n";
       $parentId = $row->parentCategoryId;
       while ($parentId<>0){
          $sql2 = "SELECT * FROM ".$dbsite."_categories WHERE categoryId = $parentId";
          $result2=mysql_query($sql2);
          while ($row2=mysql_fetch_object($result2)) {
             $depth=$depth+1;
             echo "INSERT INTO `".$dbsite."_categoryparents` (`parentId`, `childId`, `depth`) VALUES ($row2->categoryId,$row->categoryId,$depth);<br>\n";
             $parentId = $row2->parentCategoryId;
          }
       }
       $depth=$depth+1;
       echo "INSERT INTO `".$dbsite."_categoryparents` (`parentId`, `childId`, `depth`) VALUES (0,$row->categoryId,$depth);<br>\n";
    }
    ?>


Il faut déposer ce script sur votre site et de le lancer via le navigateur.
La liste des commandes sql va s'afficher, il suffira alors de faire un copier coller dans phpmyadmin par exemple et le tour est joué :)

On peut facilement modifier le script afin d'enregistrer automatiquement dans mysql.
Webmaster expert WordPress, je propose aussi de l'hébergement Web sur Easy Hoster.
onico0
 
Messages: 387
Inscription: Lun 21 Sep 2009 13:49
Localisation: Agence Web Belgique


Retourner vers Annuaire Arfooo

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

 
Copyright © arfooo.com  2007 - 2011  -  Tous droits réservés  -  Partenaires de confiance
Sites du groupe: petites annonces gratuites   voyance en direct - tirage tarot   Consultant en référencement
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group | phpBB SEO Traduction par: phpBB-fr.com
cron