{"id":20579928,"url":"https://github.com/fredgainza/generate_table_mysql","last_synced_at":"2026-05-08T03:15:53.466Z","repository":{"id":116756338,"uuid":"605102033","full_name":"FredGainza/generate_table_mysql","owner":"FredGainza","description":"Generate editable tables from database sql","archived":false,"fork":false,"pushed_at":"2024-08-05T19:01:18.000Z","size":1595,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T22:29:13.048Z","etag":null,"topics":["bootstrap4","crud-table","editable-table","jquery-ajax","mysql","permission-manager","search-engine","table"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FredGainza.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-22T12:58:55.000Z","updated_at":"2024-08-05T19:01:21.000Z","dependencies_parsed_at":"2025-01-16T22:26:50.394Z","dependency_job_id":"e512b12c-4251-4b30-bc8c-5b85a07d0c67","html_url":"https://github.com/FredGainza/generate_table_mysql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FredGainza%2Fgenerate_table_mysql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FredGainza%2Fgenerate_table_mysql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FredGainza%2Fgenerate_table_mysql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FredGainza%2Fgenerate_table_mysql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FredGainza","download_url":"https://codeload.github.com/FredGainza/generate_table_mysql/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242206006,"owners_count":20089252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap4","crud-table","editable-table","jquery-ajax","mysql","permission-manager","search-engine","table"],"created_at":"2024-11-16T06:19:08.254Z","updated_at":"2026-05-08T03:15:48.444Z","avatar_url":"https://github.com/FredGainza.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generate Table Mysql\n\n\u003cp align=\"right\"\u003e\u003cimg src=\"https://img.shields.io/badge/KoPaTiK-Agency-blue\"\u003e\u003cp align=\"right\"\u003e\n\n* **Générer des tables de votre base de données MySQL**\u003cbr\u003e\n* **Mise à jour des champs intégrée**\u003cbr\u003e\n* **Pagination + recherche avancée**\u003cbr\u003e\n* **Mode gestion des droits utilisateurs possible**\u003cbr\u003e\n\n## Demo\n\n[https://generate-table.fgainza.fr](https://generate-table.fgainza.fr)\n\n## Requirement\n\nPHP 7.4\u003cbr\u003e\nBootstrap 4.6\u003cbr\u003e\nJquery 3.6.3\n\n\n## Install\n\nLes différentes bibliothèques sont déjà installées\n\nAppeler la fonction tableDatabase()\n\n```php\necho tableDatabase(\n    $conn,\n    $table,\n    $idTab = NULL,\n    $title = NULL,\n    $limit = 25,\n    $nb_between = 2,\n    $array_select_limit = [3, 5, 10, 25, 50, 100, 500, 1000],\n    $cols_selected = NULL,\n    $cols = NULL,\n    $formats = NULL,\n    $table_permissions = NULL,\n    $displayPagination = \"both\",\n    $order_column = NULL,\n    $order_sort = \"asc\"\n);\n```\n\n* **$conn** (instance PDO) : Connexion PDO (voir le dossier app/)\n\n* **$table** (string) : Nom de la table\n\n* **$idTab** (string) : id de la table\n\n* **$title** (string) : Titre de la table\n\n* **$limit** (integer) : Nombre d'éléments par page (par défaut 25)\n\n* **$nb_between** (integer) : Nb max de pagination autour de la page active (par défaut 2)\n\n* **$array_select_limit** (array) : Tableau des nb d'éléments par page possibles (par défaut [3, 5, 10, 25, 50, 100, 500, 1000])\n\n* **$cols_selected** (array) : Liste des champs à afficher\u003cbr\u003e\n(seront affichés dans l'ordre indiqué)\u003cbr\u003e\nPar défaut, tous les champs sont affichés\n\n* **$cols** (array) : Tableau associatif [db_field =\u003e intitulé thead th] pour définir les intitulés à afficher pour les champs de la table\n\nExemple:\n\n```php\n$cols = [\n    \"user_id\" =\u003e \"User Id\",\n    \"user_firstname\" =\u003e \"Firstname\",\n    \"user_lastname\" =\u003e \"Lastname\",\n    \"user_company\" =\u003e \"Company\",\n    \"user_email\" =\u003e \"eMail\",\n    \"user_nb_pass_fail\" =\u003e \"Nb errors\",\n    \"user_verified\" =\u003e \"Verified\",\n    \"user_created_at\" =\u003e \"Date creation\",\n    \"user_updated_at\" =\u003e \"Date last update\"\n]\n```\n\n* **$formats** (array) : Définir un type différent d'affichage que celui de la table\u003cbr\u003e\nTableau associatif [db_field =\u003e [new format, [old_value =\u003e new_value]]]\nrq: permet notamment de transformer un champ varchar, bit, tinyint... en variable booleen\n(dans ce cas, indiquer \"boolean\" pour le nouveau format)\n\nExemple : \n\n```php\n$formats = [\n    \"user_verified\" =\u003e [\n        \"boolean\",\n        [0 =\u003e false, 1 =\u003e true]\n    ]\n];\n```\n\n* **$table_permissions** (array) : Cas particulier de création d'une table de gestion des droits (voir l'exemple pour une meilleure compréhension)\u003cbr\u003e\nCe tableau ne comprendra que des booléens comme champs éditables\n\nExemple : \n\n```php\n$permissions = [\n    \"query\" =\u003e \"\n        SELECT\n            users.user_id,\n            users.user_firstname,\n            users.user_lastname,\n            users.user_company,\n            permissions.admin,\n            permissions.actifUser,\n            permissions.canAdd,\n            permissions.canEdit,\n            permissions.canValid,\n            permissions.canDelete,\n            permissions.updated_at \n        FROM\n            users\n            LEFT JOIN permissions ON users.user_id = permissions.user_id\n        \",\n\n    \"primary_key\" =\u003e \"user_id\",\n\n    \"toggleFields\" =\u003e [\n        \"admin\", \n        \"actifUser\",\n        \"canAdd\",\n        \"canEdit\",\n        \"canValid\",\n        \"canDelete\",\n    ],\n\n    \"tr_special\" =\u003e [\n        \"class_special\" =\u003e \"bg-admin\",\n        \"condition\" =\u003e [\n            \"field\" =\u003e \"admin\",\n            \"value\" =\u003e \"1\",\n            \"disabled\" =\u003e true\n        ]\n    ]\n];\n```\n\n* **$displayPagination** (string) : Définir le placement de la pagination (au-dessus et/ou au-dessous du tableau)\u003cbr\u003e\nValeurs possibles: \"top\", \"bottom\", \"both\" (par défaut \"both\")\n\n* **$order_column** (string) : Définir la colonne triée par défaut (par défaut la clé primaire)\n\n* **$order_sort** (string) : Définir l'ordre de tri par défaut\u003cbr\u003e\nvaleurs possibles : \"asc\", \"desc\" (par défaut \"asc\")\n\n\n## Author\n\n* **Frédéric Gainza** _alias_ [@FredGainza](https://github.com/FredGainza)\n\n\n## License\n\nLicensed ``GNU General Public License v3.0`` - see [LICENSE](LICENSE) for more informations\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffredgainza%2Fgenerate_table_mysql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffredgainza%2Fgenerate_table_mysql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffredgainza%2Fgenerate_table_mysql/lists"}