debuuuuuuuuuuuuuuuuuuuuuug

This commit is contained in:
2024-04-16 18:55:42 +02:00
parent 392a285c2c
commit c2cfcd3d09

View File

@@ -1,5 +1,7 @@
<?php <?php
$debug = true;
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
/////// Gestion de la connxeion /////////////////////////////////// /////// Gestion de la connxeion ///////////////////////////////////
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
@@ -152,10 +154,8 @@ function get_infos($typeVue, $nomTable)
switch ($typeVue) { switch ($typeVue) {
case 'schema': case 'schema':
return get_infos_schema($nomTable); return get_infos_schema($nomTable);
break;
case 'data': case 'data':
return get_infos_instances($nomTable); return get_infos_instances($nomTable);
break;
default: default:
return null; return null;
} }
@@ -197,42 +197,14 @@ function get_infos_schema($nomTable)
*/ */
function get_infos_instances($nomTable) function get_infos_instances($nomTable)
{ {
global $connexion; return get_infos_requete("SELECT * FROM " . $nomTable);
// récupération des informations sur la table (schema + instance)
$requete = "SELECT * FROM $nomTable";
$res = mysqli_query($connexion, $requete);
if ($res === false) {
die('Erreur SQL : ' . mysqli_error($connexion));
}
// extraction des informations sur le schéma à partir du résultat précédent
$infos_atts = mysqli_fetch_fields($res);
// filtrage des information du schéma pour ne garder que le nom de l'attribut
$schema = array();
foreach ($infos_atts as $att) {
array_push($schema, array('nom' => $att->{'name'})); // syntaxe objet permettant de récupérer la propriété 'name' du de l'objet descriptif de l'attribut courant
}
// récupération des données (instances) de la table
$instances = mysqli_fetch_all($res, MYSQLI_ASSOC);
// renvoi d'un tableau contenant les informations sur le schéma (nom d'attribut) et les n-uplets
return array('schema' => $schema, 'instances' => $instances);
} }
function get_infos_requete($requete) function get_infos_requete($requete)
{ {
global $connexion;
// récupération des informations sur la table (schema + instance) // récupération des informations sur la table (schema + instance)
$res = mysqli_query($connexion, $requete); $res = executer_une_requete($requete);
if ($res === false) {
die('Erreur SQL : ' . mysqli_error($connexion));
}
// extraction des informations sur le schéma à partir du résultat précédent // extraction des informations sur le schéma à partir du résultat précédent
$infos_atts = mysqli_fetch_fields($res); $infos_atts = mysqli_fetch_fields($res);
@@ -249,6 +221,10 @@ function get_infos_requete($requete)
return array('schema' => $schema, 'instances' => $instances); return array('schema' => $schema, 'instances' => $instances);
} }
function convertir_type($code) function convertir_type($code)
{ {
switch ($code) { switch ($code) {
@@ -299,13 +275,40 @@ function convertir_type($code)
/** /**
* Retourne le résultat (schéma et instances) de la requ$ete $requete * Retourne le résultat (schéma et instances) de la requ$ete $requete
* */ * */
function executer_une_requete($requete) function executer_une_requete(string $requete)
{ {
global $connexion;
//TODO $res = true;
return null; try {
// récupération des informations sur la table (schema + instance)
$res = mysqli_query($connexion, $requete);
} catch (Exception $e) {
debug_log("Erreur SQL : " . $e->getMessage());
return false;
}
if ($res === false) {
debug_log("Erreur SQL : " . mysqli_error($connexion));
}
return $res;
} }
function debug_log(string $msg)
{
global $debug;
if ($debug) {
echo '<h1 style="color: red;">' . $msg . '</h1>';
}
}
?> ?>