Tutoriel : générer la table parentchilddepth

Proposez ici vos templates, vos plugins ou demandez en un.
Tous les tutoriels disponibles pour Arfooo Annuaire sont disponible dans cette rubrique

Tutoriel : générer la table parentchilddepth

Messagede siteofficiel » Ven 11 Juin 2010 13:16

Bonjour,

Je pense que pas mal d'entre vous ont rencontré ce soucis :
comment remplir automatiquement la table parentchilddepth ?

Situation :
- la table category est déja remplie avec les bons id catégories parent renseignés (par exemple vous avez travaillé la liste dans un fichier excel que vous avez importé)
- vous souhaitez remplir la table parentchilddepth quasi automatiquement sans a avoir a tout ressaisir.

Je vous propose un 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.

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


Re: Tutoriel : générer la table parentchilddepth

Messagede Arf » Dim 13 Juin 2010 10:56

Bonjour,

Merci, ça peut être très utile dans ce cas là ;)
Arf
Administrateur du site
 
Messages: 3082
Inscription: Lun 21 Jan 2008 14:53

Re: Tutoriel : générer la table parentchilddepth

Messagede diaph16 » Ven 18 Juin 2010 09:01

Euh, à quoi sert cette table, siouplé ?
Avatar de l’utilisateur
diaph16
 
Messages: 144
Inscription: Sam 25 Avr 2009 09:17
Localisation: Lille

Re: Tutoriel : générer la table parentchilddepth

Messagede siteofficiel » Lun 12 Juil 2010 15:44

Cette table te permet de créer l'arborescence catégorie père / catégories filles pour l'ensemble des catégories de ton annuaire, avec le niveau de profondeur.

Elle te permet aussi de construire le fil d'ariane.
http://www.siteofficiel.fr/ Annuaire généraliste
siteofficiel
 
Messages: 6
Inscription: Ven 11 Juin 2010 12:41

Re: Tutoriel : générer la table parentchilddepth

Messagede diaph16 » Lun 12 Juil 2010 15:59

Ok. Effectivement, ça peut être très utile.
Avatar de l’utilisateur
diaph16
 
Messages: 144
Inscription: Sam 25 Avr 2009 09:17
Localisation: Lille

Re: Tutoriel : générer la table parentchilddepth

Messagede onico0 » Dim 22 Aoû 2010 11:38

Le script fonctionne...

N'oubliez pas d'assigner la valeur "$dbsite="arfooo"; et surtout, lorsque vous recevez la requête SQL à executer, n'oubliez pas d'aller l'exec. dans phpmyadmin :lol:
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: Tutoriel : générer la table parentchilddepth

Messagede Arf » Mer 24 Nov 2010 16:38

Bonjour,

Il fonctionne très bien, juste modifier la ligne pour le préfixe des tables ;)


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";
    }
    ?>
Arf
Administrateur du site
 
Messages: 3082
Inscription: Lun 21 Jan 2008 14:53

Re: Tutoriel : générer la table parentchilddepth

Messagede Jusseo » Sam 4 Déc 2010 16:30

Pour charger le fichier créer grace au script, il faut juste se rendre sur phpmyadmin, faire la selection SQL en haut et coller le texte puis executer

ha oui merci pour ce tuto qui m'a été d'un tres grand service
Avatar de l’utilisateur
Jusseo
 
Messages: 19
Inscription: Ven 5 Nov 2010 16:38

Re: Tutoriel : générer la table parentchilddepth

Messagede npk60480 » Dim 15 Jan 2012 23:38

Bonjour

J'ai lancé ce script suite à mon sujet ouvert ici topic3985.html mais j'ai cette réponse du script
TRUNCATE TABLE `Arfooo_categoryparents`;
Jean-Marie
lienendur.fr
npk60480
 
Messages: 97
Inscription: Sam 22 Aoû 2009 13:33

Re: Tutoriel : générer la table parentchilddepth

Messagede moteurama » Dim 18 Nov 2012 14:11

Belle siteofficiel et arf, j'ai eut le soucis de ne plus voir s'afficher les catégories lorsque je souhaitais éditer ou vérifier une nouvelle fiche: admin/site/edit/1234 dans l'admin!!!

Gros coup de flip et j'ai cherché pas mal sur le forum avant de tomber sur ce topic mais qui ne traite pas spécifiquement du problème rencontré mais qui visiblement s'applique à un certain nombre de problèmes dans l'admin avec les catégories

En tombant sur ce topic topic3070.html le problème décrit étant le même que celui que j'ai rencontré et renvoyant à ce topic, j'ai exécuté la requête dans la base et exécuté dans phpmyadmin et Hop, tout est revenu dans l'ordre, ça marche super bien

bien soulagé et c'est reparti pour vérifier les fiches de mon annuaire généraliste ;)

Je profite de mon passage pour saluer l'ensemble des utilisateurs de ce forum et noter que j'ai jusqu'à maintenant toujours trouvé les solutions nécessaires lorsque je rencontrais des bugs, même si parfois c'est un peu caché et mal renseigné au niveau du sujet et on se demande compte tenu de la "vieillesse" des topics si ça va fonctionner fin 2012 et c'est le cas, ça marche.

Enfin pour les référenceurs qui liraient ce topic, Moteurama a lancé depuis peu sa plateforme Agence de Presse sur laquelle vous pouvez publier un communiqué de presse Vous êtes les bienvenu.

Bravo Arfooo encore une fois pour ce superbe script :geek:
Moteurama - Référencement des blogs avec Annuaire des blogs
Avatar de l’utilisateur
moteurama
 
Messages: 17
Inscription: Sam 27 Aoû 2011 21:51


Retourner vers Templates, plugins et tutoriels

 


  • 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