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: 3080
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: 110
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: 110
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:
Référencement professionnel belgique. Mon annuaire Arfooo.
onico0
 
Messages: 384
Inscription: Lun 21 Sep 2009 13:49

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: 3080
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: 15
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: 85
Inscription: Sam 22 Aoû 2009 13:33


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