MySQL

Fuseaux horaires avec PHP et MySQL

Représentation des dates

Pour localiser un événement précisément dans le temps, on a besoin de trois informations : la date (16/08/2011 par exemple), l'heure (18:12:00) et le décalage par rapport au temps universel coordonné (UTC). Dans un entête de courrier électronique, par exemple, la date d'expédition est encodée de la façon suivante :

Etiquettes:

Arrondis avec MySQL et PHP

Ah les arrondis ! On pourrait penser que c'est très simple mais comme souvent le diable se cache dans les détails.

Prenons par exemple la méthode round de PHP. Elle nous propose 4 types d'arrondi :

<?php
// Arrondi vers l'infini (méthode par défaut: PHP_ROUND_HALF_UP)
echo round(1.2442) . "\n"// Affiche 1.24
echo round(1.2462) . "\n"// Affiche 1.25
echo round(1.2452) . "\n"// Affiche 1.25
echo round(-1.2452) . "\n"// Affiche -1.25

// Arrondi vers zéro
echo round(1.2452PHP_ROUND_HALF_DOWN) . "\n"// Affiche 1.24
echo round(-1.2452PHP_ROUND_HALF_DOWN) . "\n"// Affiche -1.24

// Arrondi bancaire (arrondi au nombre pair le plus proche)
echo round(1.2452PHP_ROUND_HALF_EVEN) . "\n"// Affiche 1.24
echo round(1.2352PHP_ROUND_HALF_EVEN) . "\n"// Affiche 1.24

// Arrondi au nombre impair le plus proche
echo round(1.2452PHP_ROUND_HALF_ODD) . "\n"// Affiche 1.25
echo round(1.2352PHP_ROUND_HALF_ODD) . "\n"// Affiche 1.23
?>

Etiquettes:

Structurer sa base de données pour des prix dégressifs

Les prix dégressifs sont courants dans le commerce électronique (tout comme dans le commerce traditionnel d'ailleurs). L'idée, c'est que le prix diminue en fonction des quantités demandées. Cela peut également s'appliquer aux tarifs de livraison : plus le poids augmente, plus les frais de livraison augmentent. Par exemple, voici des prix dégressifs pour des tirages photos :

Prix des tirages photos
de 1 à 1000,14 €
de 101 à 2000,12 €
plus de 2000,10 €

Un script batch pour copier la structure d'une base de données

Ça peut être utile pour répliquer la structure d'une base existante pour exécuter des tests unitaires.


SET MYSQL_BIN=C:\mysql\bin
"%MYSQL_BIN%\mysqldump" --add-drop-table --no-data --opt -uroot bdsource | "%MYSQL_BIN%\mysql" -uroot bddest

Vous devez indiquer le répertoire où se trouve l'exécutable mysql dans la variable MYSQL_BIN. Si votre base de données comporte un mot de passe, vous devez ajouter l'option -p suivi du mot de passe.

Etiquettes:

Marqueurs de temp MySQL (TIMESTAMP)

MySQL

MySQL dispose d'un type TIMESTAMP qui permet d'enregistrer la date et l'heure de création ou de modification d'un enregistrement.

Etiquettes:

Choisir le type de colonne de ses tables MySQL

MySQL

Pour optimiser au mieux sa base de données MySQL, il faut bien choisir ses types de colonnes et leur interclassement afin d'optimiser la taille des tables et des index. Voici quelques conseils pour les types de données les plus courants.

Etiquettes:

Améliorer les performances avec Zend_Db_Profiler_Firebug

Logo Zend Framework

Le nombre et la qualité des requêtes SQL ont souvent un impact considérable sur les performances d'un site. Le Zend Framework dispose d'un composant très pratique nommé Zend_Db_Profiler_Firebug qui permet d'afficher le temps d'exécution des différentes requêtes exécutées pour afficher une page.

Oracle rachète Sun...

Le logo de l'IDE NetBeans

... et c'est NetBeans qui est menacé, car Oracle est un contributeur actif d'Eclipse. Quand à MySQL...

Etiquettes:

Choisir le bon interclassement MySQL pour UTF-8

MySQL Pour rappel, un interclassement (ou collation en Anglais) est un ensemble de règles permettant la comparaison de caractères dans un jeu. Ce paramètre influe donc sur le résultat des tris.

Etiquettes:

Subscribe to RSS - MySQL