nom_organisme nom_organisme nom_organisme nom_organisme

Une classe générique pour gérer une table MySQL

Ce module permet de gérer une table MySQL. Il suffit de placer les scripts présents dans Phocea/Mise_a_jour/tbl/ dans le répertoire de votre choix.

Ouvrir ensuite le fichier tbl-config.ini pour préciser les paramètres de votre table.

Le 1er champ de votre table doit être un champ INT, c'est celui qui va servir d'ID. Il devrait être une clé primaire, Auto-increment mais ce n'est pas obligatoire. Vous pouvez donner le nom que vous voulez à ce champ "id".

Les types possibles pour le formulaire sont : text, select, radio, checkbox, textarea, richtextarea, hidden, date, function.

Dans le fichier tbl-config.ini vous pouvez décrire comment vous souhaitez modifier chaque champ.

table_name="tbl_document"
access="private"

[id]
label="Numero de document"
[wp]
; vous avez une colonne "wp" dans votre table tbl_document
; Dans le formulaire, ce champ "wp" s'appelle "Category" et se présente sous forme de boutons radio.

label="Category"
html="radio"
size=""
com=""
joinTableName=""
joinTableId=""
joinTableVal=""
[titre]
; Vous avez un champ "titre" dans votre table.
; Dans le formulaire, ce champ "titre" s'appelle "Titre du document" et se presente sous forme d'un champ [input type="text"].
; Un commentaire apparaît après le champ.

label="Titre du document"
html="text"
size="input-xxlarge"
com="saisir un titre"
joinTableName=""
joinTableId=""
joinTableVal=""
[type_doc]
; Vous avez un champ "type_doc" dans votre table.
; Dans le formulaire, ce champ "type_doc" s'appelle "Type de document" et se presente sous forme d'un menu deroulant [select].
; Le contenu de ce menu deroulant vient d'une autre table.

label="Type de document"
html="select"
size="input-large"
com=""
joinTableName="tbl_document_type"
joinTableId="id_type"
joinTableVal="doc_type"
[labo]
; Vous avez un champ "labo" dans votre table.
; Dans le formulaire, ce champ "labo" s'appelle "Laboratoires". Vous avez écrit une fonction pour gerer ce champ.
; Cette fonction doit etre écrite dans une classe qui doit hériter de CtblAdmin (class myclass extends CtblAdmin ...).

label="Laboratoire"
html="function"
size="input-large"
com=""
functionName="menu_select_labo"
[auteur]
; Vous avez un champ "auteur" dans votre table.
; Dans le formulaire, ce champ "auteur" s'appelle "Auteurs".
; ce champ n'apparaitra pas ds le tableau recapitulatif (pour limiter le nb de colonnes si la page n'est pas assez large)

label="Auteurs"
html="text"
size="input-large"
com=""
functionName=""
voirDsTableauConsult=true
voirDsTableauAdmin=false

Pour régler la longueur du champ text, les valeurs possibles sont :
size="input-mini"
size="input-small"
size="input-medium"
size="input-large"
size="input-xlarge"
size="input-xxlarge"

Pour des "checkbox" => choisir le type de colonne "SET('val1','val2')" dans MySQL.

Pour "select" ou "radio" => choisir le type de colonne "ENUM('val1','val2')" dans MySQL.

Vous pouvez aussi utiliser une autre table pour gérer les valeurs des champs de type select/radio/checkbox. Dans ce cas, utiliser les paramètres joinTableName, joinTableId, joinTableVal.

Un champ "hidden" se presentera sous forme d'un champ [input type="text"] non éditable.

Un champ "date" se presentera sous forme d'un champ [input type="text"] avec un calendrier.

Si vous choisissez "function", alors le champ se présentera selon une fonction que vous aurez écrite. Cette fonction devra être dans une class qui hérite de CtblAdmin (class myclass extends CtblAdmin)

Vous pouvez aussi choisir si la modification de la table peut se faire sans login, ou avec un compte contributeur ou avec un compte modérateur. C'est la paramètre access du fichier tbl-config.ini.

Vous pouvez aussi vouloir joindre des fichiers aux entrées de votre table. Dans ce cas preciser le repertoire de stockage de ces fichiers avec le paramètre dir_for_files.

Mise à jour : 16/03/2015

Retour en haut