Bonsoir à tous.
J'initialise un nouveau topic dans plusieurs buts :
~ Faire plaisir à ceux qui voulaient voir ma façon de coder
~ Avoir des avis, des conseils, des critiques [...] sur le code que je vais poster à la suite
Je maitrise relativement les fondements de l'approche objet, mais n'ayant jamais mit en pratique avec PHP, il s'agit là de ma première expérience.
Comme toute première fois , cela fait mal, alors je compte sur vous pour tout de même faire passer le morceau avec douceur
J'initialise un nouveau topic dans plusieurs buts :
~ Faire plaisir à ceux qui voulaient voir ma façon de coder
~ Avoir des avis, des conseils, des critiques [...] sur le code que je vais poster à la suite
Je maitrise relativement les fondements de l'approche objet, mais n'ayant jamais mit en pratique avec PHP, il s'agit là de ma première expérience.
Comme toute première fois , cela fait mal, alors je compte sur vous pour tout de même faire passer le morceau avec douceur
Code PHP :
<?php
class InterfaceSQL
{
// Déclaration des variables //
private $c_hebergeur; // adresse/nom de l'hébergeur
private $c_utilisateur; // nom de l'utilisateur
private $c_motDePasse; // mot de passe de l'utilisateur
private $c_baseDeDonnees; // nom de la base de données
private $e_identifiantConnexion; // identifiant de la connexion
private $b_connexionEnCours; // Connexion en cours ?
private $c_requete;
private $r_resultat;
// Constructeur
function InterfaceSQL()
{
$this->c_hebergeur = '';
$this->c_utilisateur = '';
$this->c_motDePasse = '';
$this->c_baseDeDonnees = '';
$this->e_identifiantConnexion = NULL;
$this->b_connexionEnCours = FALSE;
}
// Connexion au serveur MySQL
function e_connexion()
{
if($this->b_connexionEnCours == FALSE)
{
$this->e_identifiantConnexion = @mysql_connect($this->c_getHebergeur(), $this->c_getUtilisateur(), $this->c_getMotDePasse());
if($this->e_identifiantConnexion == false)
{
$this->erreurConnexionSQL();
$this->b_connexionEnCours = FALSE;
return 0;
}
$c_baseDeDonnees = @mysql_select_db($this->c_getBaseDeDonnees($this->e_identifiantConnexion));
if($c_baseDeDonnees == false)
{
$this->erreurSQL('Impossible de sélectionner la base de données : <b>'.$this->c_getBaseDeDonnees().'</b>');
$this->b_connexionEnCours = FALSE;
return 0;
}
}
$this->b_connexionEnCours = TRUE;
return $this->e_identifiantConnexion;
}
// selectionInformations
function selectionInformations($nomTable, $nomIdentifiant = '', $identifiant = '')
{
if($nomIdentifiant !== '' AND $identifiant !== '')
{
$this->c_requete = 'SELECT * FROM '.$nomTable.' WHERE '.$nomIdentifiant.' = "'.$identifiant.'"';
}
else
{
$this->c_requete = 'SELECT * FROM '.$nomTable;
}
return $this->c_requete;
}
// executionRequete
function executionRequete()
{
$this->r_resultat = @mysql_query($this->c_requete);
if($this->r_resultat == FALSE)
{
$this->c_erreurSQL('Vérifiez la requête : '.$this->c_requete.'<br />');
return 0;
}
return $this->r_resultat;
}
// deconnexion
function deconnexion()
{
if($this->b_connexionEnCours == TRUE)
{
@mysql_close($this->e_identifiantConnexion);
}
$this->b_connexionEnCours = FALSE;
}
// Erreur de connexion au serveur MySQL
function erreurConnexionSQL()
{
$c_texte = '<font style="font-family : arial, helvetica; font-size : 12px; color : red">';
$c_texte .= 'Connexion impossible vers le serveur : <b>'.$this->c_getHebergeur().'</b><br />';
$c_texte .= '</font>';
$this->toString($c_texte);
}
// Erreur SQL
function erreurSQL($c_message)
{
$c_texte = '<font style="font-family:arial, helvetica; font-size:12px; color:red">';
$c_texte .= $message;
$c_texte .= '<hr>';
$c_texte .= 'Erreur SQL : '.@mysql_error($this->e_identifiantConnexion).'<br />';
$c_texte .= 'Numéro de l\'erreur : '.@mysql_errno($this->e_identifiantConnexion).'<br />';
$c_texte .= '</font>';
$this->toString($c_texte);
}
// Fonctions d'initialisation
function setHebergeur($c_hebergeur = '')
{
if(empty($c_hebergeur))
{
$this->c_hebergeur = 'localhost';
}
else
{
$this->c_hebergeur = $c_hebergeur;
}
}
function setUtilisateur($c_utilisateur = '')
{
if(empty($c_utilisateur))
{
$this->c_utilisateur = 'root';
}
else
{
$this->c_utilisateur = $c_utilisateur;
}
}
function setMotDePasse($c_motDePasse = '')
{
if(empty($c_motDePasse))
{
$this->c_motDePasse = '';
}
else
{
$this->c_motDePasse = $c_motDePasse;
}
}
function setBaseDeDonnees($c_baseDeDonnees)
{
if(empty($c_baseDeDonnees))
{
$this->c_baseDeDonnees = 'mysql';
}
else
{
$this->c_baseDeDonnees = $c_baseDeDonnees;
}
}
// Fonctions GET
function c_getHebergeur()
{
return $this->c_hebergeur;
}
function c_getUtilisateur()
{
return $this->c_utilisateur;
}
function c_getMotDePasse()
{
return $this->c_motDePasse;
}
function c_getBaseDeDonnees()
{
return $this->c_baseDeDonnees;
}
// Fonction toString()
function toString($c_message = '')
{
if(empty($c_message))
{
$c_texte = 'Hébergeur : <b>'.$this->c_getHebergeur().'</b<<br />';
$c_texte .= 'Utilisateur : <b>'.$this->c_getUtilisateur().'</b><br />';
$c_texte .= 'Mot de passe : <b>'.$this->c_getMotDePasse().'</b><br />';
$c_texte .= 'Base de données : <b>'.$this->c_getBaseDeDonnees().'</b><br />';
}
else
{
$c_texte = $c_message;
}
print($c_texte);
}
}
?>
Je compte améliorer ça en développant des méthodes de configuration qui me permettraient de récupérer des informations dans des fichiers textes.
J'aurais pour cela une question : Classe ou pas ?
A ceux qui auront eu la patience, la force & le courage nécessaire pour tout lire : Merci ! ^^