Catégorie : Langages Web

langages Web

  • Ajout de fonction à PostgreSQL : group_concat

    Dernièrement, j’ai eu l’occasion de travailler sur PostgreSQL (J’ai plus l’habitude de travailler sur MySQL).

    Dans un de mes développements, je devais utiliser une fonction permettant le regroupement de différentes valeurs en une chaîne de caractère.
    J’avais déjà utilisé group_concat dans MySQL, et je n’avais utiliser l’équivalent dans PostgreSQL.

    Avec un peu de recherche, j’ai vu qu’il était possible de créer des fonctions spécifiques, et de les ajouter dans PostgreSQL. C’est ce que j’ai fait.

    Pour cela, c’est très simple : il faut d’abord aller sur votre outil qui gère vos BDD (pgAdmin, …).
    Puis, il faut ajouter les lignes suivantes :

    create aggregate array_accum (
    	sfunc = array_append,
    	basetype = anyelement,
    	stype = anyarray,
    	initcond = '{}'
    );
    
    CREATE OR REPLACE FUNCTION _group_concat(text, text)
    RETURNS text AS $$
    SELECT CASE
    WHEN $2 IS NULL THEN $1
    WHEN $1 IS NULL THEN $2
    ELSE $1 operator(pg_catalog.||) ',' operator(pg_catalog.||) $2
    END
    $$ IMMUTABLE LANGUAGE SQL;
    
    CREATE AGGREGATE group_concat (
    	BASETYPE = text,
    	SFUNC = _group_concat,
    	STYPE = text
    );

    A partir de maintenant, la fonction group_concat est utilisable dans PostgreSQL

  • Création d’une intervalle de temps en PHP

    Aujourd’hui, j’ai envie de partager avec vous, un exemple de code en PHP.

    Ce code permet la création d’un intervalle d’un an, mois par mois.

    Présentation du code

    Voici ci-dessous, l’exemple de code :

    <?php
    $intervalleDate = [];
    $date		= new DateTime();
    
    $date->sub(new DateInterval('P1Y'));  
    
    for ($i = 0; $i < 12; $i++) {
        $date->add(new DateInterval('P1M'));
        $strDate = $date->format('Y-m');
        $intervalleDate[] = $strDate;
    }

    En faisant un var_dump de la variable $intervalleDate, cela afficherai la réponse ci-dessous.

    array (size=12)
      0 => string '2018-09' (length=7)
      1 => string '2018-10' (length=7)
      2 => string '2018-11' (length=7)
      3 => string '2018-12' (length=7)
      4 => string '2019-01' (length=7)
      5 => string '2019-02' (length=7)
      6 => string '2019-03' (length=7)
      7 => string '2019-04' (length=7)
      8 => string '2019-05' (length=7)
      9 => string '2019-06' (length=7)
      10 => string '2019-07' (length=7)
      11 => string '2019-08' (length=7)

    Explication du code

    Comme vous pouvez le voir, le script PHP utilise la classe DateTime, élément important de PHP pour manipuler les dates.

    Nous pouvons voir aussi l’utilisation de la classe DateInterval, permettant la spécification de l’intervalle voulu.
    Pour le premier DateInterval, le paramètre P1Y signifie period 1 Year. Pour le second DateInterval, P1M signifie period 1 Month.

    Il est possible de faire beaucoup plus avec cette fonction. Pour cela, je vous ai laissé le lien de cette classe du manuel PHP.

    Parmi les fonctionnalités de DateTime, il existe sub() et add(), qui respectivement soustrait et ajoute les durées souhaité.

    Liens

    En espérant que ce petit code vous aura appris quelques choses.

  • Découverte de l’HTML et du CSS

    Découverte de l’HTML et du CSS

    Le partage d’aujourd’hui traite de la base du développement Web, avec les langages HTML et CSS.

    Grafikart nous propose 2 playlist Youtube, une par langage.

    Personnellement, je n’ai pas forcément vu les vidéos, mais je trouvais cool de faire le partage !

    Profitez-en bien.

  • Résolution d’énigme en PHP 2

    Résolution d’énigme en PHP 2

    Aujourd’hui, voici le 2eme article sur le thème de la résolution de problèmes et d’énigmes via le PHP.

    L’énigme que je partage avec vous vient de Linkedin, proposé par Stéphane Simon.

    Le but du jeu est de répondre à la question suivante : Combien y-a-t-il de fois le nombre 88 ?
    Pour la réponse, il faut faire en sorte de voir tous les 8 qui sont sur des cases côtes-à-côtes.

    Voici ma solution sur mon github, sur le repository occurrence In Array. En espérant ne pas avoir fait d’erreur dans la résolution de l’énigme.

  • Manipuler plus facilement les tableaux PHP avec la POO

    Manipuler plus facilement les tableaux PHP avec la POO

    L’article d’aujourd’hui est une reprise du tutoriel Manipuler les tableaux en utilisant la POO de grafikart.

    J’avais suivi ce tutoriel du début à la fin, et je partage le script avec vous sur mon github, sur mon dépôt Collection.

    J’aimerai améliorer ce script, et ajouter de nouvelles fonctionnalités. Je trouve ce genre de classe PHP intéressante à suivre et à utiliser.

    Si vous avez des idées qui pourraient être implémenté, je suis preneur. De mon côté, je rajouterai des choses aussi.

    N’hésitez pas à partager le script, et à partager aussi des idées de choses à mettre en place.

     

    Enjoy !