GithubHelp home page GithubHelp logo

fredgainza / generate_table_mysql Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.55 MB

Generate editable tables from database sql

License: GNU General Public License v3.0

PHP 67.33% JavaScript 21.83% HTML 1.02% CSS 9.82%
table bootstrap4 editable-table jquery-ajax mysql permission-manager search-engine crud-table

generate_table_mysql's Introduction

Generate Table Mysql

  • Générer des tables de votre base de données MySQL
  • Mise à jour des champs intégrée
  • Pagination + recherche avancée
  • Mode gestion des droits utilisateurs possible

Demo

https://generate-table.fgainza.fr

Requirement

PHP 7.4
Bootstrap 4.6
Jquery 3.6.3

Install

Les différentes bibliothèques sont déjà installées

Appeler la fonction tableDatabase()

echo tableDatabase(
    $conn,
    $table,
    $idTab = NULL,
    $title = NULL,
    $limit = 25,
    $nb_between = 2,
    $array_select_limit = [3, 5, 10, 25, 50, 100, 500, 1000],
    $cols_selected = NULL,
    $cols = NULL,
    $formats = NULL,
    $table_permissions = NULL,
    $displayPagination = "both",
    $order_column = NULL,
    $order_sort = "asc"
);
  • $conn (instance PDO) : Connexion PDO (voir le dossier app/)

  • $table (string) : Nom de la table

  • $idTab (string) : id de la table

  • $title (string) : Titre de la table

  • $limit (integer) : Nombre d'éléments par page (par défaut 25)

  • $nb_between (integer) : Nb max de pagination autour de la page active (par défaut 2)

  • $array_select_limit (array) : Tableau des nb d'éléments par page possibles (par défaut [3, 5, 10, 25, 50, 100, 500, 1000])

  • $cols_selected (array) : Liste des champs à afficher
    (seront affichés dans l'ordre indiqué)
    Par défaut, tous les champs sont affichés

  • $cols (array) : Tableau associatif [db_field => intitulé thead th] pour définir les intitulés à afficher pour les champs de la table

Exemple:

$cols = [
    "user_id" => "User Id",
    "user_firstname" => "Firstname",
    "user_lastname" => "Lastname",
    "user_company" => "Company",
    "user_email" => "eMail",
    "user_nb_pass_fail" => "Nb errors",
    "user_verified" => "Verified",
    "user_created_at" => "Date creation",
    "user_updated_at" => "Date last update"
]
  • $formats (array) : Définir un type différent d'affichage que celui de la table
    Tableau associatif [db_field => [new format, [old_value => new_value]]] rq: permet notamment de transformer un champ varchar, bit, tinyint... en variable booleen (dans ce cas, indiquer "boolean" pour le nouveau format)

Exemple :

$formats = [
    "user_verified" => [
        "boolean",
        [0 => false, 1 => true]
    ]
];
  • $table_permissions (array) : Cas particulier de création d'une table de gestion des droits (voir l'exemple pour une meilleure compréhension)
    Ce tableau ne comprendra que des booléens comme champs éditables

Exemple :

$permissions = [
    "query" => "
        SELECT
            users.user_id,
            users.user_firstname,
            users.user_lastname,
            users.user_company,
            permissions.admin,
            permissions.actifUser,
            permissions.canAdd,
            permissions.canEdit,
            permissions.canValid,
            permissions.canDelete,
            permissions.updated_at 
        FROM
            users
            LEFT JOIN permissions ON users.user_id = permissions.user_id
        ",

    "primary_key" => "user_id",

    "toggleFields" => [
        "admin", 
        "actifUser",
        "canAdd",
        "canEdit",
        "canValid",
        "canDelete",
    ],

    "tr_special" => [
        "class_special" => "bg-admin",
        "condition" => [
            "field" => "admin",
            "value" => "1",
            "disabled" => true
        ]
    ]
];
  • $displayPagination (string) : Définir le placement de la pagination (au-dessus et/ou au-dessous du tableau)
    Valeurs possibles: "top", "bottom", "both" (par défaut "both")

  • $order_column (string) : Définir la colonne triée par défaut (par défaut la clé primaire)

  • $order_sort (string) : Définir l'ordre de tri par défaut
    valeurs possibles : "asc", "desc" (par défaut "asc")

Author

License

Licensed GNU General Public License v3.0 - see LICENSE for more informations

generate_table_mysql's People

Contributors

fredgainza avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.