Gestion automatique des tabindex pour les formulaires

20 octobre 2012

L’attribut TABINDEX permet de définir l’ordre des sélections des éléments d’une page par pression de la touche TAB.
Sa valeur comprise entre 0 et 32767 (selon les spécifications recommandées par le W3) est suivie de manière croissante mais non nécessairement consécutive.

Le problème c’est qu’à vouloir définir les TABINDEX de chaque élément, on s’emmêle vite les pinceaux surtout si on génère des pages de manière dynamique.

C’est là que jQuery vient à la rescousse… Lire le reste de cet article »

Les expressions régulières en MySQL

18 août 2012

Et oui, vous avez bien lu! Les expressions régulières ne sont pas que dans le PHP, et le réécriture d’URL à la volée (via nos précieux .htaccess)/

Ce n’est pas quelque chose que j’ai coutume de faire mais parfois, lors de migrations de données, on souhaite filtrer plus précisément les données à traiter.

Par exemple, sélectionner les entrées dont la référence commence par 3 lettres:

  1. span class= »st0″>’^([A-Z]{3})’

Ou fini par 1 chiffre et un code à 2 lettres précis:

  1. span class= »st0″>'([1-9]{1})(GF|MF)$’

Pour ceux qui sont frileux avec les expressions régulières, je vous conseille ce très bon site francophone sur le sujet: http://www.expreg.com/mysql.php

Insérer des entrées provenant d’une sous-requête MySQL

10 juillet 2012

Dans une phase de développement d’un outil, nous pouvons être amenés à copier des données d’une table de notre base de données à une autre pour mieux scindez nos données ou au contraire les regrouper.
Dans ce cas, notre cerveau, formaté à réfléchir en PHP pour intéragir avec MySQL, va nous pousser à écrire quelques lignes pour:

  • récupérer les données à traiter (1 requête),
  • puis, pour chacune de ces données, les insérer dans le nouvelle table (n requêtes)

Pour un déménagement de n entrées, on aura donc n+1 requêtes MySQL à lancer.

Que diriez-vous de n’en lancer qu’une seule et, cerise sur la gâteau, de ne pas avoir à coder une seule ligne PHP?

Jugez plutôt:

  1. span class= »st0″>’blabla’)

Rien ne vous empêche évidemment d’avoir une sous-requête peu plus complexe qui prend les entrées avec l’id le plus bas parmi les doublons d’une série répondant à une certaine conditions pour insérer dans une table avec ‘valeur_commune’ à toutes les nouvelles entrées et en y indiquant le timestamp Unix actuel.

  1. span class= »st0″>’valeur_commune’‘remplie’

Merci à Rob Searles pour son article qui m’a fait découvrir cette « technique »