Présentation
Dans SPIP, on peut ajouter une table (« matable » par ex.) et utiliser des boucles pour la parcourir : {BOUCLE_a(matable)}
et extraire ses champs avec des balises {#CHAMP1}
, {#CHAMP2}
, etc.
L’objet de cette contrib est de visualiser, ajouter et modifier le contenu de ces tables.
Pour plus de précision et bien comprendre l’intérêt, voir les articles suivants :
- Plugin TableData v0.4 de moi-même
- La gestion de tables SQL supplémentaires de Déesse A
- le § Détection automatique de tables SQL et de jointures sur SPIP.net
- Nouvelles boucles et cette contrib
L’objet de cette contrib est de visualiser, ajouter et modifier le contenu de ces tables.
- Nom : TableDATA
- Version : 2.0.7
- Auteur : Christophe Boutin
- Licence : GPL
- Compatibilite SPIP : testé sur SPIP 2.0.5 , SPIP 2.0.7
(existe également pour versions antérieures 1.9.1 & +, voir précédent article)
- Testé sur ces navigateurs [1]
Testé | Plateforme | Navigateur | Version |
---|---|---|---|
oui | windows | Internet explorer | 7.0 |
oui | windows | Firefox | 3.0.8 |
oui | Unbuntu | Firefox | 3.0.8 |
Maintenant, ce plugin fonctionne avec la nouvelle interface SQL de SPIP. Il est donc compatible avec les autres bases SQL supportées par SPIP et facilement portable.
Une Nouvelle Fonction : EFFACER des enregistrements
Etat actuel : En test Mais semble stable, qu’en pensez-vous ??
V2.2.1 — Stable— 25/05/2009 -------------
- Overflow sur le tableau d’affichage de la table
V2.2.0 — Stable— 24/05/2009 -------------
- On peut maintenant tavailler sur toutes les table. (Enfin je pense)
Cette version corrige notamment un bug lorsque la table contenait une clé mais pas une clé primaire.
V2.1.1 — Test — 07/05/2009 -------------
- Activation des fonctions supprimer et modification sur le table sans clé.
Astuce : Clause Where reprenant tous les champs (Affichage du nombre d’enregistrement sélectionnés)
V2.1.0 — Test — 07/05/2009 -------------
- gestion clé sur champ multiple
- correctif concernant table avec préfixe spécial
- Correction d’affichage des caractères accentués après modification
V2.0.7 — Test — 25/04/2009 -------------
- Modif possible champs DATETIME
- J’ai rassemblé toutes les fiches en une seule,
Ainsi la def des champ input n’est écrite qu’une fois (éviter erreur code)
- Remise en forme code partie ShowTable
- Correction de la fermeture de page (pb <DIV>
)
- Modif taille des champs <TEXTAREA>
pour un meilleur affichage
- Correction d’un bug dans l’ajout d’enregistrements
V2.0.6 — Test — 21/04/2009 -------------
Compatible avec la nouvelle interface SQL de Spip2. (donc compatible MySQL, PostgreSQL et SQLite)
V2.0.5 — Test ----------------------------
Nouvelle fonction : Supprimer un enregistrement (DELETE en sql)
V2.0.4 — Dev ----------------------------
Toutes les fonctionnalités qui existaient sur la version spip1.9 sont de retour.
(cette version intègre les correctifs d’affichage proposées par JF-Moreau)
V2.0 — Dev — 16/04/2009 -----------------
Compatible SPIP2. Correction de l’affichage des caractères accentués.
Discussions par date d’activité
31 discussions
Bonjour,
j’utilise beaucoup ton plugin sous spip2 il est vraiment très pratique. J’ai migré pas mal de mes sites sous spip3 et j’ai vraiment du mal à me passer de ton plugin. Aurais-tu une version compatible spip3 ?
Merci par avance.
Répondre à ce message
J’ai fait en sorte que le plugin soit mieux rangé dans le nouveau bandeau de menu :
http://zone.spip.org/trac/spip-zone/changeset/54951
Je ne vois pas le plugin sur files.spip.org, il n’est pas généré automatiquement ?
Répondre à ce message
Bonjour,
J’ai installé avec succès ce plugin, ce qui va permettre à mon client de gérer son fichier de stock de pièces directement depuis son espace d’admin (avec la création d’une table supplémentaire.
Ma question : est-ce que la possibilité d’ajouter une fonction d’exportation vers csv ou pdf évoquée ici est à l’ordre du jour ? Ainsi, mon client pourrait partager son stock ou l’envoyer à ses clients préférés !
Merci pour la réponse.
S’il y a quelqu’un au bout du plugin, je lance une seconde question : l’interface de modification des tables est peu ergonomique. Une fonction de recherche interne serait par exemple idéale pour retrouver un item. Ma table contient près de 15000 références, impossible à parcourir par page de 20.
Est-ce en projet ?
Merci pour la réponse !
Répondre à ce message
Bonjours,
Voilà, j’ai besoin dans une rubrique en particulier d’ajouter 4 nouveaux champs personnalisés. En lisant cette contrib, il m’a sembler comprendre que ce plugin était tout indiqué pour ce genre de manipulation.
Le problème c’est que je en suis pas encore très à l’aise avec phpMyAdmin. Je sais pas trop comment m’y prendre avec ce plugin. Et ça m’embête d’utiliser CHAMPS EXTRA qui lui, ajoute les nouveaux champs sur l’ensemble du site.
Si quelqu’un peu m’éclairer ? Ça m’intéresse vraiment !
Merci pour votre attention,
Julien.
Répondre à ce message
entrain de tester TableDATA v2.2.1 avec SPIP 2.1.0 : fonctionne pour le moment.
Répondre à ce message
Bonjour,
J’ai le TABLE DATA sur un Spip 2.0.9.
J’ai installé le dernier ecran_securite et maintenant je ne peux pas ouvrir les lignes du tableau correctement.
pouvez-vous m’aider s’il vous plaît ?
Excusez-moi pour mon français ...
Je ne sais pas si ton problème est toujours d’actualité mais effectivement, tabledata ne fonctionne pas avec l’écran de sécurité. Pire, si on essaie de supprimer certaines données (ou de mettre a jour), dans certains cas, c’est l’ensemble des enregistrements de la table qui peut être affecté.
J’ai fait des petite bidouilles pour corriger sur mes sites mais c’est du cas par cas.
Chag
Répondre à ce message
Voilà un fixe pour le problème du checkbox à tester !
http://www.isigny.org/divers/tabledata.zip
Bonjour,
J’ai essayé le fixe pour le bug des cases à cocher qui ne savent plus être décocées, mais cela n’a rien changé. Y a-t-il une piste de solution quelque part ? Qelle est la fonction de TableData.php incriminée ?
Merci.
Bonjour, j’ai essayé de debuguer ce problème, pour l’instant sans succès.
J’ai créé une table différents « bool » en pensant qu’il y aurait des différences :
"a" => "bool NOT NULL DEFAULT 0",
"b" => "boolean NOT NULL DEFAULT 0",
"c" => "tinyint(1) NOT NULL DEFAULT 0",
"d" => "smallint(1) NOT NULL DEFAULT 0",
"e" => "char(1) NOT NULL DEFAULT 0"
Tout fonctionnait bien... Puis j’ai pris ma table normale et ça ne fonctionnait plus, même cette nouvelle table !
Dans tabledata.php, j’ai regardé
en espérant trouver une piste. J’y ajoute des spip_log mais ils ne sortent nulle part...
Salut,
C’est quoi l’url de ton formulaire ?
Le problème avec les checkbox, c’est que soit il est coché et vaut la valeur du value, soit n’est pas coché et parfois vaut une chaine vide, parfois n’est pas définit (selon les navigateurs)
quoi qu’il en soit ton $tabQueryvalue[$cle] = $_POST[$cle] ; vaut 1 ou rien.
Ce que j’avais changé à l’époque, c’est un champs caché que remplit le checkbox selon qu’il est coché ou pas.
@++
Mon questionnaire est pour l’instant en zone privée et sur ma machine de développement.
Mais je vois qu’il y a quelque chose lié au navigateur, or j’ai fait mes tests avec Opera et FF (Sur Mac) sans faire attention à ça...
L’idée serait effectivement d’ajouter un champ caché en plus de la case à cocher et de tester la combinaison des deux avant de modifier l’enregistrement dans la table.
Si caché=1 et case=1, ne rien faire
Si caché=1 et case=0, forcer à 0
Si caché=0 et case=1, mettre à 1 (ça le fait déjà naturellement)
Si caché=0 et case=0, ne rien faire (ça le fait déjà naturellement)
C’est ça ?
moi j’avais mis un prefixe a mon checkbox. dans la boucle où tu as mis le log, je saute le champs il y a le prefixe. et un bout de javascript qui gère le clique du checkbox et remplit le champs hidden.
Ca résoud tout
Intéressant, c’est plus simple que ma proposition, mais ça oblige l’utilisateur à avoir un javascript fonctionnel...
Bonjour
j’ai le même problème qu’un personne ci-dessous, à savoir que lorsque je clique sur un enregistrement pour le modifier, c’est toujours le premier qui s’affiche. J’ai l’impression qu’il y a un problème dans l’URL appelée : « ?exec=tabledata&tdaction=edit&id_ligne=+id_statut%3D’3’+&table=auteurs_statut » mais je n’arrive pas à trouver l’endroit où on peut le corriger.
Merci
Bonjour Anne,
Ton lien :
?exec=tabledata&tdaction=edit&id_ligne=+id_statut%3D’3’+&
semble correct et incorrect à la fois.
le id_ligne prend comme valeur les champs « clé(s) primaire(s) » de ta table. séparé par un « AND »
donc, ta clé primaire doit être id_statut et la valeur de l’enregistrement 3 entre quotes.
Ce qui m’interloque, c’est les + et notamment le premier que je ne m’explique pas en lisant le code.
(en fait si parce que la variable est initialisée avec un espace)
Si tout est correcte pour toi, alors il faut voir dans la fonction qui affiche les données d’une fiche.
Regarde si tu as tout tes liens avec la valeur 3 ?
Merci pour ces pistes
Apres tests, ce n’est pas un probleme d’url puisque j’ai constaté que le plugin installé sur l’un de mes autres sites spip (meme version : 2.0.13 et mêmes plugins associés) fonctionne lui parfaitement
sur le site actuel qui ne fonctionne pas je suis allée un peu plus loin que l’affichage du formulaire erroné en cliquant sur modifier et il m’affiche « Erreur dans la requete à la base... » (et ce tout e temps, même lorsque je demande à afficher le premier enregistrement)
Pour info, problème résolu en enlevant l’écran de sécurité de spip (devenu inutile d’ailleurs puisque la version 2.0.13 corrige la dernière faille de sécurité)
J’aimerais bien pouvoir corriger ce bug qui empêche la prise en compte du décochage d’une case dans TableData, mais je suis incapable de mettre dans spip_log dans le code.
L’anonyme qui avait proposé une solution avec javascript pourrait-il publier un bout de code. Ce plugin est très intéressant mais pas vraiment utilisable en l’état avec des champs booléens.
Merci.
Répondre à ce message
Salut la compagnie !
J’ai besoin d’utiliser ce plugin sur un SPIP 2.1 dernière mouture, et je voulais savoir si vous avez déjà eu des problèmes dans cette configuration.
@+
Mojo
Répondre à ce message
Bonjour,
En spip 2.1.2 et 2.1.5 je n’obtiens pas la liste des tables mais ce message :
Le nom de la table est manquant.
Au dois-je le renseigner ? Peut-être du au fait que spip n’est pas installé à la racine du site...
PS/ L’icone de table data n’apparait pas dans le plugin bandeau.
Merci,
Bonne journée.
Nicolas
Répondre à ce message
Pb avec des Checkbox
Soit un champ toto de type TINYINT + taille 1 et valeur par défaut = 0
Sur le formulaire que génère automatiquement tabledata, c’est une checkbox qui gère ce champ. Si on coche et qu’on valide, la valeur se met bien à 1. Par contre, si l’on veut modifier à nouveau pour remettre la valeur à 0 en décochant la case, après validation le champ reste à 1.
Pas super ça....
Une ruse à donner pour rectifier cela ?
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |