Gestion de l'encodage utf-8 de la BDD

This commit is contained in:
xdrm-brackets 2015-11-21 13:28:13 +01:00
parent 7fdb83f632
commit 76b4afa11f
5 changed files with 31 additions and 9 deletions

View File

@ -67,15 +67,39 @@ class DataBase{
* @return newFetchData<Array> retourne le tableau donné en paramètre mais sans les valeurs à clés numériques * @return newFetchData<Array> retourne le tableau donné en paramètre mais sans les valeurs à clés numériques
* *
*/ */
public static function delNumeric($fetchData){ public static function delNumeric($fetchData, $oneDimension=false){
/* [1] 2 dimensions
===============================================*/
if( !$oneDimension ){
// on supprime les doublons des entrées (indice numérique) // on supprime les doublons des entrées (indice numérique)
for( $i = 0 ; $i < count($fetchData) ; $i++ ) // pour tout les utilisateurs for( $i = 0 ; $i < count($fetchData) ; $i++ ) // pour tout les utilisateurs
foreach($fetchData[$i] as $col => $val){ // pour toutes les entrées foreach($fetchData[$i] as $col => $val){ // pour toutes les entrées
if( !mb_detect_encoding($val, 'UTF-8') )
$fetchData[$i][$col] = utf8_encode($val); $fetchData[$i][$col] = utf8_encode($val);
if( is_int($col) ) // si l'indice est un entier if( is_int($col) ) // si l'indice est un entier
unset( $fetchData[$i][$col] ); // on le supprime unset( $fetchData[$i][$col] ); // on le supprime
} }
/* [2] 1 dimensions
===============================================*/
}else{
// on supprime les doublons des entrées (indice numérique)
foreach($fetchData as $i=>$val){ // pour toutes les entrées
if( !mb_detect_encoding($val, 'UTF-8') )
$fetchData[$i] = utf8_encode($val);
if( is_int($i) ) // si l'indice est un entier
unset( $fetchData[$i] ); // on le supprime
}
}
return $fetchData; return $fetchData;
} }

View File

@ -66,7 +66,7 @@ class controleRepo extends DBAccess{
} }
// on retourne le résultat en supprimant les doublons à indices numériques // on retourne le résultat en supprimant les doublons à indices numériques
return $getControleInfo->fetch(); return DataBase::delNumeric( $getControleInfo->fetch(), true );
} }

View File

@ -44,7 +44,7 @@ class groupRepo extends DBAccess{
$getGroupeInfo = DataBase::getPDO()->prepare("SELECT id_groupe as id, nom, libelle FROM groupe WHERE id_groupe = :groupeUID"); $getGroupeInfo = DataBase::getPDO()->prepare("SELECT id_groupe as id, nom, libelle FROM groupe WHERE id_groupe = :groupeUID");
$getGroupeInfo->execute(array( ':groupeUID' => $groupeUID )); $getGroupeInfo->execute(array( ':groupeUID' => $groupeUID ));
return $getGroupeInfo->fetch(); return DataBase::delNumeric( $getGroupeInfo->fetch(), true );
} }
@ -217,7 +217,7 @@ class groupRepo extends DBAccess{
ORDER BY g.nom"); ORDER BY g.nom");
$getGroupe->execute(array( ':etudiant' => $etudiant, ':semestre' => $semestre )); $getGroupe->execute(array( ':etudiant' => $etudiant, ':semestre' => $semestre ));
return $getGroupe->fetch(); return DataBase::delNumeric( $getGroupe->fetch(), true );
} }

View File

@ -204,8 +204,6 @@ if( document.querySelector('#CONTAINER section[name=controlesenseignants]') != n
nbRequest += 1; nbRequest += 1;
addClass( saisieObj[i].button, 'loading' );
var request = { // on définit la requête pour API var request = { // on définit la requête pour API
level_0: 'career', level_0: 'career',
level_1: 'saisieNote', level_1: 'saisieNote',

View File

@ -348,10 +348,10 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif
echo "<table class='basic col4'><thead>"; echo "<table class='basic col4'><thead>";
echo "<th colspan=5 style='font-size:1.5em; text-align:center;'>".$answer->controle['module'].' - '.$answer->controle['libelle'].'</th>'; echo "<th colspan=5 style='font-size:1.5em; text-align:center;'>".$answer->controle['nom'].' - '.$answer->controle['libelle'].'</th>';
echo '<tr>'; echo '<tr>';
echo "<th><span class='link ctrl' data-ctrl='".$answer->controle['id']."'>".$answer->controle['libelle']."</span></th>"; echo "<th><span class='link ctrl' data-ctrl='".$answer->controle['nom']."'>".$answer->controle['libelle']."</span></th>";
echo "<th>".$answer->controle['module']." - ".$answer->controle['modulelib']."</th>"; echo "<th>".$answer->controle['module']." - ".$answer->controle['modulelib']."</th>";