1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
<?php
/* ------------------------------------------------------------------------------------------------------------------------------------------- */
/* Requête d'extraction d'une table identifiée par l'argument '$NomTabEntr' dans la base $nom_du_serveur = "mysql:host=localhost;dbname=MaBase"; */
/* ------------------------------------------------------------------------------------------------------------------------------------------- */
function RequeteExtrac($NomTabEntr, $Champ1, $Champ2)
{
$TabRslt = Array(); // Création et initialisation de variable qui contiendra le résultat de la requête
$TabRenv = Array(); // Création et initialisation de variable qui contiendra la table renvoyée par la fonction
$LignPHP = Array(); // Création et initialisation de variable : 1 ligne de la table
$Tretour = Array(); // création et initialisation de la variable de retour de la fonction
/*-----------------------------------------------------*/
/* Informations pour la connexion à la base de données */
/*-----------------------------------------------------*/
$nom_du_serveur = "mysql:host=localhost;dbname=MaBase";
$nom_utilisateur = "MonUtilisateur";
$mot_de_passe = "MonMotDePasse";
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8",
PDO::ATTR_CASE => PDO::CASE_LOWER,
);
// Si tout va bien, on peut continuer
/*---------------------------------------*/
/* Connexion au Serveur en utilisant PDO */
/*---------------------------------------*/
try // PHP essaie d'exécuter les instructions à l'intérieur du bloc try. S'il y a une erreur, il rentre dans le bloc catch et fait ce qu'on lui demande (ici, on arrête l'exécution de la page en affichant un message décrivant l'erreur).
{
$bdd = new PDO($nom_du_serveur, $nom_utilisateur, $mot_de_passe, $options); // Instance de l'objet PDO (notre connexion)
}
catch (Exception $e) // S'il y a une erreur, il rentre dans le bloc catch et fait ce qu'on lui demande (ici, on arrête l'exécution de la page en affichant un message décrivant l'erreur).
{
echo "Connection à MySql impossible : ", $e->getMessage();
die(); // En cas d'erreur, on affiche un message et on arrête tout
}
// Si tout va bien, on peut continuer
// NomTabEntr : nom de la table MySQL : 'MaTable'
// $Champ1 : Nom du champ de 1er tri 'NOM'
// $Champ2 : Nom du champ de 2ème tri 'PRENOM'
$TabRslt = $bdd->query('SELECT * FROM '.$NomTabEntr.' ORDER BY '.$Champ1.','.$Champ2);// On récupère tout le contenu de la table '$NomTabEntr' reçue en paramètre par la fonction et triée en fonction des champs '$Champ1' puis '$Champ2'
$TabRslt->setFetchMode(PDO::FETCH_ASSOC);
// les deux boucles imbriquées 'foreach', ci-dessous, servent à créer un tableau PHP '$TabRenv' contenant la table demandée à la fonction
// Le premier foreach() lit chaque ligne du tableau
foreach($TabRslt as $LignTab) // la boucle foreach : à chaque tour de boucle, la valeur de l'élément suivant, du tableau $TabRslt, est mise dans la variable $LignTab (qui est elle même un tableau).
{
// Le deuxième foreach() lit chaque tableau de chaque ligne. On accède à ses propriétés et à ses valeurs avec les variables $cle et $valeur.
//foreach($LignTab as $cle=>$valeur) // la boucle foreach : à chaque tour de boucle, la valeur de l'élément suivant, du tableau $LignTab, est mise dans la variable $element.
foreach($LignTab as $valeur) // la boucle foreach : à chaque tour de boucle, la valeur de l'élément suivant, du tableau $LignTab, est mise dans la variable $valeur.
{
Array_push($LignPHP,$valeur); // Je rentre la valeur contenue dans '$valeur' dans '$LignPHP'
}
Array_push($TabRenv,$LignPHP); // Je rentre la valeur contenue dans '$LignPHP' dans '$TabRenv'
$LignPHP = Array(); // pour vider mon tableau de ligne je le redéfinis
}
$TabRslt->closeCursor(); // Termine le traitement de la requête
$Tretour = json_encode($TabRenv); // json_encode() Retourne la représentation JSON d'une valeur (Toutes les chaînes doivent être encodées UTF-8). Retourne une chaîne encodé JSON ou FALSE si une erreur survient.
return $Tretour;
}
/* ---------------------------------------------------------------------------------------------------------------- */
/* Fin de la Requête d'extraction d'une table identifiée par l'argument '$NomTabEntr' dans la base $nom_du_serveur = "MaBase"; */
/* ---------------------------------------------------------------------------------------------------------------- */
?> |
Partager