SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Administration > Base de données > ezSQL

ezSQL : requêtes SQL et export CSV

lundi 31 mars 2008, par Djakoni, vlav. Dernier ajout dimanche 30 mars 2008


ezSQL permet d’exécuter rapidement des requêtes SQL depuis l’interface privée de SPIP. Il permet d’afficher la structure des tables et d’exporter les résultats éventuels au format CSV

Voir en ligne : Office du bac Bénin


Présentation

ezSQL est un petit plugin qui permet :
- d’exécuter tout type de requête SQL
- d’afficher une prévisualisation du résultat des requetes SELECT
- d’exporter les résultats d’une interrogation SQL au format CSV sans se soucier des problèmes d’encodage
- de naviguer dans la structure de la base de données (bandeau de gauche)
- de rédiger une requête en cliquant sur le nom de la table ou des colonnes (bandeau de droite)

Photo d’écran

PNG - 47.8 ko
ezSQL
L’interface d’ezSQL (capture d’écran)

Installation du plugin

L’installation se fait selon la procédure normale

À faire

- utiliser du code SPIP plutôt que mon code maison (par exemple pour l’affichage des tables HTML)
- proposer l’historique des requêtes (pour cela il me faut découvrir comment créer une table si on détecte qu’elle n’existe pas à l’activation du plugin)
- améliorer le système de saisie pour qu’il propose qqch de plus pratique (par exemple l’auto complétion, ou au moins la possibilité de choisir où on insère le nom de la colonne sur lequel on a cliqué)
- ne pas créer le fichier csv à chaque select (ne le créer qu’à la demande)
- permettre l’affichage de l’ensemble des réponses (au lieu de forcer la prévisualisation des n premières lignes et colonnes)
- et sans doutes plein d’autres améliorations, n’hésitez pas à utiliser le forum pour les proposer !

À propos

Ce plugin est sous licence libre GPL. Il a initialement été développé par M. Ghislain VLAVONOU puis amélioré par MM. Yannick EDAYE et Cédric PROTIERE dans le cadre du projet SIOU (Système d’Information de l’Office du bac Unifié - http://www.officedubacbenin.bj).

P.-S.

C’est le premier plugin béninois de l’histoire de SPIP-Contrib.net. Allez les écureuils !

Documents joints

  • ezSQL.zip ezSQL.zip (Zip - 121.4 ko)

    Cliquez ici pour télécharger l’archive zip du plugin


Répondre à cet article

  • Bonjour,

    J’ai un problème quand j’enregistre des requêtes : les _ disparaissent, par exemple ’spip_articles’ devient ’spip article’.

    Les données sont bien stockées correctement dans la table ezsql (on peut donc directement faire un copier coller)... mais quand on les rappelle avec l’onglet historiqe cela foire.

    Répondre à ce message

    Retour au début des forums

  • ezSQL : requêtes SQL et export CSV

    4 avril 2008 11:26, par Lila

    Bonjour,

    je viens d’installer votre plugin, malheureusement j’obtiens ça :

    Warning : cannot yet handle MBCS in html_entity_decode() ! in

    ce qui n’est absloument pas clair pour moi... Par quoi dois je commencer ?

    Lila

    Répondre à ce message

    • ezSQL : requêtes SQL et export CSV 4 avril 2008 11:57, par Djakoni

      Arg.

      D’après un commentaire de la doc PHP, la fonction html_entity_decode utilisée dans ce plugin est buggée dans PHP4 (ou apparemment <4.3). Il faut donc que les auteurs du plugin le modifient pour qu’il fonctionne également avec de vieilles versions de PHP.

      Remarquez au passage que PHP4 n’est plus supporté officiellement, et que je vous recommande de passer à PHP5. Bien sûr, cela dépend sans doutes de votre hébergeur...

      Répondre à ce message

      • ezSQL : requêtes SQL et export CSV 4 avril 2008 13:27, par vlav

        Pour ce qui est du message d’erreur avec PHP4, une fonction a été ajoutée afin de régler ce problème. Cela sera accessible dans une heure

        Répondre à ce message

        • ezSQL : requêtes SQL et export CSV 4 avril 2008 14:00, par Lila

          Merci beaucoup pour vos réponses, je vous tiens au courant

          Lila

          Répondre à ce message

        • ezSQL : requêtes SQL et export CSV 4 avril 2008 15:15, par Fibo

          « Pour ce qui est du message d’erreur avec PHP4, une fonction a été ajoutée afin de régler ce problème. Cela sera accessible dans une heure »

          Pas grave si c’est en un peu plus d’une heure... mais sera-ce aujourd’hui ?

          Répondre à ce message

          • ezSQL : requêtes SQL et export CSV 4 avril 2008 15:26, par Lila

            Pas grave. ;)

            Répondre à ce message

            • ezSQL : requêtes SQL et export CSV 7 avril 2008 19:19, par Lila

              Bonsoir Vlav,

              merci ! Il y a du progres : je peux choisir ma table, nickel ! Mais ensuite voici le retour que j’ai :

              Fatal error : Call to undefined function : str_ireplace() in /xx/xx /ezSQL/exec/ezsql.php on line 61

              A bientôt, Lila

              Répondre à ce message

              • ezSQL : requêtes SQL et export CSV 8 avril 2008 16:23, par Vlav

                Bonsoir Lila Très heureux que tu ais choisi d’essayer ce plugin. Tu n’en seras pas déçu. Ce bug est toujours le fait de la version du php que tu utilises. De la même manière que la dernière fois le code a été légèrement modifié pour l’adapter à ta version. J’attends que tu l’essaies pour me donner tes appréciations A plus

                Répondre à ce message

                • ezSQL : requêtes SQL et export CSV 9 avril 2008 13:46, par Lila

                  Vlav, rien de neuf pour moi, j’ai toujours le même resultat

                  Fatal error : Call to undefined function : str_ireplace() in /xxx/xxx/xxx/plugins/ezSQL/exec/ezsql.php on line 61

                  Bon courage, Lila

                  Répondre à ce message

                  • ezSQL : requêtes SQL et export CSV 10 avril 2008 10:15, par fibo

                    Lila,

                    J’ai jeté un oeil au code-source de ezsql. il y a bien du code pour résoudre le problème que tu rencontres... Je pense qu’il faudrait que (si tu l’as déjà fait... à tout hasard refais-le car c’est bizarre)
                    1 - tu charges la version actuellement disponible sur le site
                    2 - tu effaces ezsql dans le répertoire plugins sur ton serveur
                    3 - tu le remplaces par ezsql de la version actuelle

                    Cette erreur devrait normalement disparaître... tu auras sans doute ensuite l’erreur que j’ai eue. Si tu es pressée, je peux t’envoyer "mon" fichier ezsql corrigé. Si non, il vaut mieux attendre que Vlav intègre la modif que j’ai suggérée... comme je l’ai faite à l’arrache elle casse peut-être quelque chose ailleurs, il vaut mieux laisser Vlav valider.

                    Répondre à ce message

                    • ezSQL : requêtes SQL et export CSV 10 avril 2008 10:27, par Lila

                      Merci,

                      je vais voir

                      Lila

                      Répondre à ce message

                    • ezSQL : requêtes SQL et export CSV 10 avril 2008 10:36, par vlav

                      Fibo,

                      Merci pour tes tests. Envoie le bloc de code que tu as ajouté que je puisse valider. Et Lila doit pouvoir trouver satisfaction

                      Répondre à ce message

                      • ezSQL : requêtes SQL et export CSV 10 avril 2008 12:28, par fibo

                        Envoie le bloc de code que tu as ajouté que je puisse valider.

                        Pris à la page http://fr.php.net/fputcsv
                        ATTENTION SPIP DEFORME LE CODE notamment en interprétant les crochets pour l’italique, ne pas le prendre ici mais dans le (premier) commentaire de la page indiquée [commentaire de boefje at hotmail dot com 10-Dec-2007 01:28 ]

                        if (!function_exists(’fputcsv’)) 
                        
                        

                        function fputcsv(&$handle, $fields = array(), $delimiter = ’ ;’, $enclosure = ’"’) $str = ’’ ; $escape_char = ’\\’ ; foreach ($fields as $value) if (strpos($value, $delimiter) !== false || strpos($value, $enclosure) !== false || strpos($value, "\n") !== false || strpos($value, "\r") !== false || strpos($value, "\t") !== false || strpos($value, ’ ’) !== false) $str2 = $enclosure ; $escaped = 0 ; $len = strlen($value) ; for ($i=0 ;$i<$len ;$i++) if ($value[$i] == $escape_char) $escaped = 1 ; else if (!$escaped && $value[$i] == $enclosure) $str2 .= $enclosure ; else $escaped = 0 ; $str2 .= $value[$i] ; $str2 .= $enclosure ; $str .= $str2.$delimiter ; else $str .= $value.$delimiter ; $str = substr($str,0,-1) ; $str .= "\n" ; return fwrite($handle, $str) ;

                        Bref, tout depuis if (!function_exists(’fputcsv’)) inclus jusqu’à function WriteCsv exclu.

                        Répondre à ce message

                    • ezSQL : requêtes SQL et export CSV 10 avril 2008 10:42, par Lila

                      C’est bon pour moi, en effet j’ai la seconde erreur, qui aurait pu croire qu’un jour je sois contente de passer d’erreurs en erreurs ;)

                      Fatal error : Call to undefined function : fputcsv() in /xxx/xxx/xxxl/xxx/plugins/ezSQL/exec/ezsql.php on line 188

                      je veux bien "ton" fichier corrigé, quitte a utiliser celui de Vlav apres...

                      Merci

                      Lila

                      Répondre à ce message

                      • ezSQL : requêtes SQL et export CSV 10 avril 2008 12:33, par fibo

                        je veux bien "ton" fichier corrigé, quitte a utiliser celui de Vlav apres...

                        Je ne sais pas comment t’envoyer le fichier...

                        si tu te sens d’attaque pour modifier le fichier ezsql, tu copies à la ligne indiquée les lignes de code php que tu prends sur la page http://fr.php.net/fputcsv

                        sinon, Vlav va sans doute arranger cela très vite et ce sera plus propre : en fait, tu gagneras du temps à attendre !

                        Répondre à ce message

                • ezSQL : requêtes SQL et export CSV 10 avril 2008 10:06, par fibo

                  Bonjour,

                  Chez moi, cela progresse. Commentaires et problèmes : 1 - l’écran initial dit "cliquez sur une des tables ou tapez une requête ici puis cliquez sur le bouton [Exécuter]". Comme je n’ai pas la moindre idée de ma requête, je ne peux la taper. et je ne vois pas les noms des tables. Ce n’est que cosmétique, car si je clique sur "exécuter" j’obtiens certes un message d’erreur, mais surtout à gauche la liste des tables. Le message d’erreur est :

                  [KO] - Erreur dans la requete

                  CLIQUEZ sur une des tables ou tapez une requête ici puis cliquez sur le bouton [Exécuter]

                  /plugins/ezSQL/exec/ezsql.php[175] You have an error in your SQL syntax ; check the manual that corresponds to your MySQL server version for the right syntax to use near ’CLIQUEZ sur une des tables ou tapez une requête ici puis cliquez sur le bouton ’ at line 1

                  [j’en conclus que si l’on ne tape rien dans la requête, le texte "reste"

                  CLIQUEZ sur une des tables ou tapez une requête ici puis cliquez sur le bouton [Exécuter]

                  En réalité, dans la partie gauche il y a bien le nom de la vase, mais ce n’est pas évident (dans mon cas, cela affiche simplement "spip"... comment savoir la 1e fois que c’est la base?)

                  2 - Erreur d’exécution : Si je clique sur un nom de table, j’obtiens le message d’erreur

                  Fatal error : Call to undefined function : fputcsv() in /home.10.12/multisou/www/canal-local.net/plugins/ezSQL/exec/ezsql.php on line 188

                  fputcsv n’existe que dans php >5.1 d’après la page http://fr.php.net/fputcsv qui propose un substitut

                  Solution : j’ai installé à la ligne 36 de ezsql le substitut proposé, et ça marche.

                  J’ai donc le résultat : bravo, c’est très utile !!!!!!!!!!!!!!!!

                  Répondre à ce message

                  • ezSQL : requêtes SQL et export CSV 10 avril 2008 10:25, par Lila

                    Bonjour Fibo,

                    Peux tu préciser ce substitut, ça m’aidera a comprendre comme marche pour http://fr.php.net/str_ireplace()

                    Merci d’avance Lila

                    Répondre à ce message

                    • ezSQL : requêtes SQL et export CSV 10 avril 2008 12:45, par fibo

                      Pour str_irplace, la page que tu indiques donne une fonction de substitution, dont le code est (aux crochets près puisque spip les avale).

                      Vlav a mis un code de ce genre au tout début du programme ezsql.php : cela se termine vers la ligne 31, l’endroit où je suggère d’insérer le code pour faire une action similaire pour fputscsv

                      if(!function_exists(’str_ireplace’))
                        function str_ireplace($search,$replace,$subject)
                          $token = chr(1) ;
                          $haystack = strtolower($subject) ;
                          $needle = strtolower($search) ;
                          while (($pos=strpos($haystack,$needle))!==FALSE)
                            $subject = substr_replace($subject,$token,$pos,strlen($search)) ;
                            $haystack = substr_replace($haystack,$token,$pos,strlen($search)) ;
                          
                          $subject = str_replace($token,$replace,$subject) ;
                          return $subject ;
                        
                      

                      Répondre à ce message

                      • ezSQL : requêtes SQL et export CSV 10 avril 2008 13:03, par vlav

                        J’ai inséré la fonction de substitution afin que le bug disparaisse.

                        Faites moi signe après l’avoir essayé. Mais ne pas oublier suivre le conseil de Fibo en prenant la nouvelle version. Il serait prudent d’attendre quelques minutes pour que les modifications soient propagees

                        Répondre à ce message

                        • ezSQL : requêtes SQL et export CSV 10 avril 2008 15:10, par Lila

                          Merci beaucoup à vous deux,

                          ça marche maintenant, sauf qu’au moment ou je télécharge je reçois :

                          Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.............

                          Mais ça je pense que c’est a voir avec mon hebergeur....

                          Bonne journée Lila

                          Répondre à ce message

    Retour au début des forums

  • ezSQL : requêtes SQL et export CSV

    31 mars 2008 15:58, par cedric

    Je serais ravi si on pouvait directement éditer carrément les champs des tables dans votre plugin.

    Un plugin le faisait pour les versions précédentes de SPIP, mais il n’a pas été mis à jour.

    Est-ce pensalbe pour vous de permettre cela ?

    Répondre à ce message

    • ezSQL : requêtes SQL et export CSV 1er avril 2008 22:42, par Djakoni

      Bonjour

      Merci pour votre intérêt pour ezSQL.

      De mon point de vue, ce petit plugin sert surtout à exécuter des requêtes (SELECT, INSERT, UPDATE, DELETE...). Pour une solution plus complète telle que vous la demandez, je vous recommande de vous tourner vers une solution telle que phpMyAdmin.

      Il y a également le plugin Forms&Tables, auquel on peut ajouter les Crayons, qui devraient vous permettre de faire des interfaces d’alimentation sympathiques et utilisables via l’espace public (dont vous pouvez restreindre l’accès à certains de vos rédacteurs via le plugin Accès Restreint).

      Ceci dit, les auteurs de ce plugin, Ghislain et Yannick, ont peut être une autre vision des choses !

      Répondre à ce message

    Retour au début des forums



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net