Module FONCTIONS
Fonctions utilitaires pour vos projets
Ce module vous permettra d'utiliser des fonctions secondaires génériques qui pourront vous aider en PHP.
getLibelle()
Cette fonction interroge la base de données pour récupérer une valeur précise dans une table, en fonction d’un identifiant. Elle utilise une requête préparée pour éviter les injections SQL.
<?php
function getLibelle($table, $colonne, $colonne_condition, $id, $dbh)
{
$stmt = $dbh->prepare("SELECT `$colonne` FROM `$table` WHERE `$colonne_condition` = :id LIMIT 1");
$stmt->bindParam(':id', $id);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
return $result ? $result[$colonne] : null;
}
?>
Date_FR()
Cette fonction convertit une date vers un format français jj/mm/aaaa.
Elle accepte différents formats d’entrée comme Y-m-d ou Y/m/d.
<?php
function Date_FR($date)
{
$formats = ['Y-m-d', 'Y/m/d'];
foreach ($formats as $format)
{
$dt = DateTime::createFromFormat($format, $date);
if ($dt !== false)
{
return $dt->format('d/m/Y');
}
}
return false; // ou lancer une exception si format invalide
}
?>
Date_EN()
Cette fonction transforme une date en format standard YYYY-MM-DD,
utilisé par les bases de données et les champs HTML <input type="date">.
Elle gère aussi les dates en format texte français.
<?php
function Date_EN($date)
{
$formats = ['Y-m-d', 'Y/m/d', 'd/m/Y'];
foreach ($formats as $format)
{
$dt = DateTime::createFromFormat($format, $date);
if ($dt !== false)
{
return $dt->format('Y-m-d'); // format pour <input type="date">
}
}
// Format français texte : "4 octobre 2024"
$fmt = new IntlDateFormatter(
'fr_FR',
IntlDateFormatter::NONE,
IntlDateFormatter::NONE,
null,
null,
'd MMMM yyyy'
);
$timestamp = $fmt->parse($date);
if ($timestamp !== false)
{
return date('Y-m-d', $timestamp);
}
return false; // format invalide
}
?>
formatPhoneNumber()
Cette fonction nettoie et formate un numéro de téléphone. Si le numéro contient 10 chiffres, il sera affiché avec un espace tous les deux chiffres.
<?php
function formatPhoneNumber($phone)
{
// Supprimer tous les caractères non numériques
$digits = preg_replace('/\D/', '', $phone);
// Vérifier si le numéro a exactement 10 chiffres
if (strlen($digits) === 10)
{
// Ajouter un espace tous les deux chiffres
return preg_replace('/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/', '$1 $2 $3 $4 $5', $digits);
}
// Retourner le numéro original si ce n'est pas un numéro à 10 chiffres
return $phone;
}
?>