5/ Ajout et modifications dans la base de données
Nous allons travailler ici sur vote base de données. Pour cela, rendez-vous sur phpmyadmin qui permet de gérer vote base de données, et commencez par regarder toutes les tables de votre système
Vous allez alors me dire, mais comment je sais qui fait quoi ?. En effet, facile de se perdre sur l'énumaration de toutes ces tables, moi même je cherche des fois qu'elle table correspond à quoi. Pour notre exemple nous cherchons les tables utilisées par le module initial "Content".
Voici une astuce permettant de retrouver les tables utilisées par un module :
- Rendez-vous dans le répertoire /admin/modules/ de pragmaMx.
- Recherchez dans les fichiers listé celui correspondant au module "Content" initial. Pas dur pour notre exemple, il s'agit du fichier content.php
- Ouvrez ce fichier avec votre éditeur de texte et faites dérouler le code.
Nous allons maintenant dérouler le code à la recherche des requêtes effectuées avec la base de données. Pour celui qui n'y connait rien difficile de trouver, mais très simplement, recherchez du code semblable à celui-ci:
$res = sql_query("select title from " . $prefix . "_pages_categories where cid='"
Voici un exemple de requête sql avec votre base de données (sql_query). Vous notez ici la requête effectuée, un select sur la table ($prefix . "_pages_categories) sachant que le $prefix correspond au préfixe de vos tables du style mx????_ . Voila on s'apercoit donc que la table mx????_pages_categorie est utilisée par ce module.
De même, en poussant plus loin nos recherches, nous allons trouver une autre table utilisée par le module:
$result = sql_query("select * from " . $prefix . "_pages
Vous remarquez ainsi que la table utilisée sera: mx?????_pages. Notez la différence avec la table mx????_pages_categorie.
Pour finir, vous sachez maintenant quelles sont les deux tables utilisées par le module content:
- mx?????_pages
- mx????_pages_categorie
Rendez-vous maintenant sur phpmyadmin et recherchez les tables correspondantes. Nous allons sauvegarder ces deux tables sur notre pc.
- Cliquez sur l'onglet exporter
- Sélectionnez seulement les deux tables qui nous concerne puis transmettre.
- Exécutez et sauvegarder vote fichier (du style ???.sql) sur votre pc
Ouvrez ce fichier .sql avec votre éditeur de texte, nous allons crée les tables nécessaires à notre nouveau module en modificant les anciennes.
C'est le début des blocs de code qui nous intéressent, notamment:
CREATE TABLE `mx????_pages` INSERT INTO `mx????_pages` CREATE TABLE `mx????_pages_categories`etc......
Simple à comprendre, on remarque ici que l'on crée une table et qu'on insert ensuite les données à l'intérieur de cette table. Nous allons donc modifier cela pour créer nos deux nouvelles tables qui seront nécessaires à notre nouveau module
- Avec votre éditeur, remplacez tous les mx????_pages par mx????_pages2
- De même pour mx????_pages2_categories
- Enfait nous rajoutons seulement un 2 (ou autres...) pour avoir deux nouvelles tables.
Voila c'est fini, votre fichier sql modifié, sauvegadez et rendez vous sur phpmyadmin pour importer ces nouvelles tables
- Cliquez sur l'onglet importer.
- Faites parcourir en allant chercher votre fichier .sql modifié.
- Puis cliquez sur exécuter pour installer vos deux nouvelles tables.
Ainsi en parcourant l'ensemble des tables du système vous avez rajouté deux nouvelles tables mentionnées supra. Ce sont ces deux tables qui seront utilisées par notre nouveau module. Cette partie est terminée, vous n'aurez plus besoin de phpmyadmin normalement.