SimpleDBMS c'est quoi ?
simpleDBMS (DBMS : DataBase Management System) est une application WEB de gestion de bases de données MySQL, de ma création, écrite en PHP qui va à l’essentiel pour une utilisation simple et conviviale.
J'aime bien créer mes propres outils. Je me sers, entre autres, de cet outil pour créer/modifier les pages de mon site web (un peu à la façon de WordPress).
Ce qu'on peut faire avec simpleDBMS
- Ajout, modification, suppression d’enregistrements.
- Duplication d'enregistrements.
- Recherche (simple et avancée).
- Tri sur colonne.
- Gestion d'une corbeille (suppression, restauration).
- Exportation (csv, excel, xml).
- Importation (pas fait encore).
- Impression.
- Sauvegarde structure et données d'une table (sql).
- Restauration. à partir des sauvegardes SQL.
- 3 niveaux d'accès :
Blocage de l'accès au bout de 3 tentatives infructueuses.- admin : Accès à toutes les fonctions et toutes les tables.
- user : Ajouter et éditer des enregistrements, rechercher, exporter, imprimer, accès restreint à certaines tables.
- guest : Rechercher, exporter, imprimer, accès restreint à certaines tables.
Ce qu'on ne peut pas faire avec simpleDBMS
Comme son nom l'indique, ça doit rester simple. Utiliser une application comme phpMyAdmin pour les opérations ci-dessous.
- Créer une base de données.
- Créer, supprimer une table.
- Modifier la structure d'une table.
Enfin si ! On peut faire des opérations SQL plus ou moins complexes sur la table en cours (pour l'administrateur seulement et qui connait aussi un peu le SQL).
Par exemple : Renommer une colonne, en ajouter une, en supprimer une, modifier son type, optimiser la table, faire des remplacements en masse dans la table, etc.
Requis
- PHP version 7 minimum.
- jQuery
- Pour avoir toutes les fonctionnalités, les tables doivent avoir 2 colonnes aux noms réservés :
- une colonne id index auto-incrémenté.
- une colonne status.
Si une des 2 colonnes ou les 2 sont absentes, la table sera seulement en lecture seule.
On ne pourra faire que des recherches, exporter, importer, imprimer, sauvegarder ou restaurer.
Ressources
- phpMyForm : Création et gestion de formulaires web (script PHP de NonoWeb https://www.nonoweb.net/phpmyform-script-php-de-formulaires)
- PHP_XLSXWriter : Export Excel (https://github.com/mk-j/PHP_XLSXWriter)
- PHPMailer : Envoi de mails (https://github.com/PHPMailer/PHPMailer)
- jQuery Smooth Scroll : Scrolling page (https://github.com/kswedberg/jquery-smooth-scroll)
- jQuery Context Menu : Menu contextuel (http://www.dynamicdrive.com/dynamicindex1/contextmenu.htm)
Le site ne semble plus exister depuis mon dernier passage...
Adaptation pour simpleDBMS par NonoWeb. - Icônes : https://fontawesome.com/v4/icons/
Fonctions avancées
Appliquer un traitement sur un champ
On a la possibilié d'appliquer un traitement particulier sur chaque colonnes de la table à l'aide d'une fonction php.
Ces diverses fonctions php sont contenues dans un fichier php "functions.php" situé dans le dossier "simpleDBMS/tables/nom_de_la_table".
Dans mon exemple, avant l'affichage du nom de la commune, j'applique une fonction php sur le champ "ville_nom" de ma base de données des "Communes de France".
En cliquant sur le nom de la commune, on fait une recherche avec Qwant (oui ! il n'y a pas que Google comme moteur de recherche !) sur le nom de cette commune.
Code de la fonction PHP
<?php
/**
* functions.php : table villes_france
*
* simpleDBMS
*
* Avant l'affichage de chaque champ une fonction php peut être éxécutée sur la valeur de ce champ :
* format du nom de la fonction : TTTTT_CCCCC
* TTTTT : nom de la table
* CCCCC : nom du champ
*
*/
/**
* champ ville_nom -> lien vers recherche Qwant
*/
function villes_france_ville_nom($resultat, $champ_name, $args = '') {
$default = array('class' => ''
);
if ($args != '') {
if (is_string($args)) {parse_str($args, $tbl_args);}
else {$tbl_args = $args;}
$new = array_merge ($default, $tbl_args);
extract($new, EXTR_SKIP);
} else {
extract($default, EXTR_SKIP);
}
// *****
$tbl_class = array();
if ($class != '')
$tbl_class[] = $class;
$td_class = (empty($tbl_class)) ? '' : ' class="'.implode(' ', $tbl_class).'"';
// *****
$content = '<a data-tip="tip-'.$resultat['ville_slug'].'" href="https://www.qwant.com/?l=fr&q='.$resultat[$champ_name].'&origin=suggest&t=web" target="_blank" rel="noopener">'.$resultat[$champ_name].'</a>';
$bulle = 'Recherche Qwant pour '.format_arround_string($resultat[$champ_name]);
balloontip('tip-'.$resultat['ville_slug'], $bulle);
return '<td'.$td_class.'>'.$content.'</td>';
}
Quelques captures d'écran
Téléchargement
simpledbms.zip (Pas encore !)
Source : http://nonoweb.net/simpledbms-script-php-de-gestion-de-bases-de-donnees
Laisser un commentaire (Seuls le nom et le commentaire sont requis).
Les commentaires sont modérés avant publication.

simpleDBMS (DBMS : DataBase Management System) est une application WEB de gestion de bases de données MySQL, de ma création, écrite en PHP qui va à l’essentiel pour une utilisation simple et conviviale.