Mysql + export + csv + groupy en gardant les colonnes groupées

Petit tips avec MySQL. Admettons que vous voulez faire un export en csv d’une table (A). Dans ce cas, c’est facile, il suffit d’utiliser « INTO OUTFILE ». Par contre, si vous avez une jointure (A -> B), c’est plus compliqué.

Il y a plusieurs solutions : soit on se retrouve avec plusieurs ligne de la table A en double, puis à « droite » de ces lignes , les colonnes de la table B.

Soit on utilise la fonction group_concat; et un petit hack ;)

Exemple :

SELECT c.id, c.first_name, c.last_name,  GROUP_CONCAT(CONCAT(p.bar_code,'||',p.quantity,'||',p.date) SEPARATOR "||")
FROM contact c
LEFT JOIN product p on (c.id = p.contact_id)
GROUP BY c.id
INTO OUTFILE '/tmp/export.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"';

On fait notre jointure normalement, on group by sur c.id, et c’est dans le select qu’il y a une peu de magie. On va d’abord concaténer les attributs de la table « product » avec comme séparateur deux pipes « || ». Et ensuite, on va concaténer toutes les valeurs résultantes de la fonction GROUP BY.

Enfin, il va falloir remplacer tous nos doubles pipes par « ; » qui correspond a nos délimiteurs de champs.

sed -i 's/||/";"/g' /tmp/export.csv

Et voila, vous avec un beau fichier CSV bien formaté ;) Ici le hack c’est de remplacer un délimiteur un peu spécial « || » par un vrai délimiteur, a posteriori.

P.S. : Il se peut que mysql exporte le fichier csv avec l’utilisateur mysql. Vous n’aurez donc pas les droits pour le lire et/ou le modifier. Il faut donc passer en root ;).



Auteur : © Greg pour LyRiXx Blog.
Article publié le : 01-02-2012, dans : Web Dev. Liens direct vers l'article (permalink)
Mot Clé :

Feed enhanced by Better Feed from Ozh

Le Zend Framework 2 s’étoffe et met en place un market place pour ses modules

Via Scoop.itLa veille du WebDeveloper
Un market place pour les modules Zend Framework
Le Zend Framework 2 prend la même route que Symfony en mettant en place un market place (http://modules.zendframework.com/) pour proposer à la communauté un point central pour récupérer tous les modules nécessaires à votre projet.

Pour le moment, le market place comme le Zend Framework 2 d’ailleurs sont en phase Béta et ne sont donc pas à utiliser en production.

L’initiative est intéressante et prouve que le Zend Framework n’est pas mort et s’apprête à rentrer dans l’arène pour se mesure à Symfony 2.   Ce sera sans doute un combat intéressant à suivre en 2012 !

Fred Blanc

Techno addict, Google Fans et PHP Enthousiast, j’essaie dans ce blog de livrer de l’information numérique de qualité. Je suis également chef de projet pour Orange et auto-entrepreneur sous l’enseigne Itanea.fr

Twitter Google+ 

Création de nouveau formulaire facilement avec Zend Form Maker

La création de formulaire avec zend framework peut être facilitée grâce à un petit développement : Zend Form Maker. Projet disponible sur github. À la base créer pour des besoins scolaires, sarlak a eu la bonne idée de rendre le dev open source sous licence GPL 3.0.

Le but du logiciel est de permettre via une interface très simple d’accès, de créer des formulaires et ensuite de forger une classe PHP, basé sur zend framework afin d’obtenir un formulaire tout frais moulu. Ultra pratique, et ultra simple, et surtout cela fait gagner un temps de dingue!

Pour l’installer, il vous faut de quoi faire fonctionner zend framework (celui-ci doit être installé). Sous Unix cela donnera ceci :

git clone https://github.com/sarlak/Zend-Form-Maker.git
ln -s pathToYourZFLibrary
chmod 0777 Zend-Form-Maker/public/resources/xml
chmod 0777 Zend-Form-Maker/public/resources/form_made

Bien entendu, à peu de choses près ceci est adaptable sous MS-Windows

Pour créer votre premier formulaire, il vous suffit de vous rendre sur l’URL adéquate, aller sur « form list » et « Bazinga! ». Une démo existe en ligne!

Une petite capture d’écran :

À noter que j’ai corrigé un ou deux petits trucs qui me dérangeaient, il y a un bout de temps.

DeliciousTechnorati FavoritesTwitterFacebookGoogle BookmarksNetvibes ShareShare

Silex Kitchen Edition

Silex est un micro-framework (en php) basé sur les composants de symfony2. Je vous invite à aller voir la documentation. La documentation est déjà bien fournie, cependant vous pouvez aller voir la présentation d’Igor au sfDay. Il existe aussi un très bon tuto sur fait par exiit.

Bref, tout ca pour dire, que je vous propose une « édition » de silex, déjà packagée avec plusieurs services, comme les sessions, le cache, twig, etc etc … disponible sur github. Dans cette édition, il y a des exemples avec des formulaires, de la validation etc etc…

Enfin, n’hésitez pas a aller faire un tour sur le dépôt officiel de silex.



Auteur : © Greg pour LyRiXx Blog.
Article publié le : 24-10-2011, dans : Silex. Liens direct vers l'article (permalink)
Mot Clé : , ,

Feed enhanced by Better Feed from Ozh

Le nouveau site de l’agence web Itanea est prêt pour la rentrée, venez découvrir nos offres

Voilà, la rentrée est déjà là et le nouveau site d’itanea également. Venez le découvrir, ainsi que nos offres et réalisations. Nous sommes à votre disposition pour tout vos projets de site internet :

  • blog
  • site vitrine
  • site institutionnel
  • ecommerce
  • crm
  • erp
  • forums

Bonne rentrée à toutes et à tous !

Fred Blanc

Techno addict, Google Fans et PHP Enthousiast, j’essaie dans ce blog de livrer de l’information numérique de qualité. Je suis également chef de projet pour Orange et auto-entrepreneur sous l’enseigne Itanea.fr

Twitter Google+ 

Zend Framework 2, enfin un peu de communication !

C’est sur que lorsque l’on compare la communication autour de Symfony 2 et celle autour du Zend Framework 2, on est en droit de se demander si tout va bien pour le le framework Made In Zend.

Le Zend Framework 2 on en a parlé à la PHP CONF la cité des sciences en novembre 2010, puis depuis, je n’en ai plus trop entendu parlé. Il y a bien quelques articles ou news de ci, de là, mais rien d’aussi concret que ce l’on a eu avec Symfony. Symfony est arrivé en retard certes mais avec de bons arguments.

Alors peut être que le Zend Framework 2 a aussi des raisons d’arriver plus tard que prévu, mais le moins que l’on puisse dire c’est qu’il n’y a pas beaucoup de communication autour pour nous rassurer. Du coup, j’ai déjà lu sur certains forums que plusieurs d’entre nous envisageaient tout bonnement de passer leurs compétences et passion pour PHP vers Symfony.

Que penser de tout cela ?

Sans doute une simple erreur de stratégie de communication de Zend qui tente d’ailleurs de se rattraper par la mise en place d’un blog sur le développement du Zend Framework 2. Vous pourrez le trouver à l’adresse suivante : http://framework.zend.com/zf2/blog

Vous pouvez également y trouver entre autres une page sur le status des développements en cours (http://framework.zend.com/wiki/display/ZFDEV2/Development+Status+Page).

Espérons que ce blog va s’enrichir d’informations et de news croustillantes afin de mettre en émoi nos papilles sensibles de développeurs ;)

Fred Blanc

Techno addict, Google Fans et PHP Enthousiast, j’essaie dans ce blog de livrer de l’information numérique de qualité. Je suis également chef de projet pour Orange et auto-entrepreneur sous l’enseigne Itanea.fr

Twitter Google+ 

cryptage asymétrique avec clé public et privée à base de zend_framework

Aujourd’hui on va s’amuser un peu avec les clés publics et privées et le cryptage rsa. Tout ça à l’aide d’openssl, php et zend_framework. Le besoin : Vous voulez communiquer avec une autre société de manière sécurisé. La cryptographie asymétrique est choisie car plus sécurisé que les traditionnels méthode symétrique avec clé secrète type blowfish. [...]

Lister ses films

Un petit script .sh (donc pour linux/mac) pour lister tous les films qui peuvent trainer dans plusieurs répertoires et sous répertoires…

wget https://gist.github.com/raw/1008082/dc6cdb8ae50bd981ae9458cc270f96de41583718/movieList.sh
chmod +x movieList.sh
# Configure VIDEO_FOLDER
gedit movieList.sh
./movieList.sh
cat movie_list.txt

(...)
Read the rest of Lister ses films (0 words)



Auteur : © Greg pour LyRiXx Blog.
Article publié le : 05-06-2011, dans : Ubuntu. Liens direct vers l'article (permalink)
Mot Clé : ,

Feed enhanced by Better Feed from Ozh

Zend_Test : récupérer les messages d'erreur d'un formulaire

Lors d'un test unitaire, il peut arriver que la soumission d'un formulaire échoue. Cela peut être du au passage via POST d'une valeur qui n'est pas considérée comme valide par le formulaire. Pour identifier la source du problème, vous êtes obligé d'examiner la réponse HTML pour retrouver d'éventuels messages d'erreurs, ce qui n'est pas très pratique. Le mieux ce serait de retrouver l'objet form qu'on a passé à la vue. C'est possible en passant par le ViewRenderer :

<?php
$vr 
Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$view $vr->view;
$form $vr->form;
?>

Vous pouvez ensuite utiliser la méthode getMessages pour récupérer les messages d'erreur et les afficher sur la console :

<?php
$this
->assertXXX(..., print_r($form->getMessages(), true));
?>

en lire plus

Zend_Framework, Blowfish et Zend_Filter

Dans cet article, nous allons jouer avec le Zend_Framework et ses filtres. Plus précisément, Zend_Filter_Encrypt et Zend_Filter_Decrypt. Nous verrons aussi comment créer ses filtres et chainer les appels. Le besoin : Créer une url avec une durée de vie définie. Travaillant pour un société de tirage en ligne, certaines images uploadées par les clients ont [...]