TB_Cartes.Adresse_netbird, suppression d'ID_Bateau/Date_bateau (obsolètes), Ouverture_bdd_bateau() résout désormais la génération active via TB_Generations_bateau (cf synthèse §36)

This commit is contained in:
2026-09-30 13:00:00 +00:00
parent d12812e414
commit 1dd4d0c288
2 changed files with 71 additions and 0 deletions
+57
View File
@@ -83,6 +83,11 @@ function Ouverture_bdd($bdd_host = BDD_HOST, $bdd_user = BDD_USER, $bdd_password
}
/*
//************************************************************************************************************
// Fonction : Ouverture de la BDD d'un bateau
// Reçoit : L'ID du bateau (sa clé_primaire dans TB_Bateaux)
@@ -93,6 +98,58 @@ function Ouverture_bdd_bateau($id_bateau)
Ouverture_bdd(BDD_BATEAUX_HOST.":".BDD_BATEAUX_PORT, BDD_BATEAUX_USER, BDD_BATEAUX_PASSWORD, BDD_BATEAUX_DATABASE_PREFIXE.$id_bateau);
}
*/
//************************************************************************************************************
// Fonction : Ouverture de la BDD ACTIVE d'un bateau (cf synthèse §35-36 : une base par génération, jamais
// supprimée ; celle-ci résout et ouvre la génération actuellement active).
// Reçoit : L'ID du bateau (sa clé_primaire dans TB_Bateaux)
// Retour : true si la connexion a réussi, false si aucune génération active n'a été trouvée pour ce bateau
// (bateau affecté mais n'ayant encore jamais transmis d'archive - CE N'EST PAS une erreur de
// connexion, à la page appelante d'afficher un message adapté).
//************************************************************************************************************
function Ouverture_bdd_bateau($id_bateau)
{
// Connexion dédiée et temporaire à la BDD principale, pour résoudre le nom de la génération active - ne
// jamais utiliser $_SESSION['db'] ici : elle peut déjà pointer vers la BDD d'un AUTRE bateau, ouverte par
// un appel précédent à cette même fonction.
$db_principale = new mysqli(BDD_HOST, BDD_USER, BDD_PASSWORD, BDD_DATABASE);
if ($db_principale->connect_error)
{
Enregistrement_log("\tOuverture_bdd_bateau : échec de connexion à la BDD principale pour résoudre la génération active", __FILE__, __LINE__);
return false;
}
$requete = "SELECT Nom_base FROM TB_Generations_bateau WHERE ID_Bateau=? AND Date_fin IS NULL";
$stmt = $db_principale->prepare($requete);
$stmt->bind_param('i', $id_bateau);
$stmt->execute();
$stmt->bind_result($nom_base);
$trouve = $stmt->fetch();
$stmt->close();
$db_principale->close();
if (!$trouve)
{
// Aucune génération active : ce bateau n'a encore jamais transmis d'archive.
return false;
}
Ouverture_bdd(BDD_BATEAUX_HOST.":".BDD_BATEAUX_PORT, BDD_BATEAUX_USER, BDD_BATEAUX_PASSWORD, $nom_base);
return true;
}