diff --git a/cms2/code/bdd.php b/cms2/code/bdd.php
index c3865e7..0c99ce6 100644
--- a/cms2/code/bdd.php
+++ b/cms2/code/bdd.php
@@ -18,6 +18,80 @@
// le droit de voir. Filtrage après la requête (attention au LIMIT et OFFSET !) ?
// ou y a-t-il moyen d'exprimer ça directement dans la requête ?
+
+class BDD {
+ private static $handle = null;
+ public static function get() {
+ if (self::$handle === null) {
+ self::$handle = @mysql_connect(
+ Config::get('db_hôte'),
+ Config::get('db_utilisateur'),
+ Config::get('db_mot_de_passe')
+ );
+ if (!is_resource(self::$handle)) {
+ Debug::error("Échec à la connexion à la base de données");
+ }
+ mysql_select_db(Config::get('db_base'), self::$handle) or Debug::sqlerror();
+ self::init();
+ }
+ return self::$handle;
+ }
+
+ // ATTENTION : Ré-initialise toute la base de données !!!
+ public static function reset() {
+ self::unbuf_query('drop table if exists ' . self::table("pages"));
+ self::unbuf_query('drop table if exists ' . self::table("enfants"));
+ self::unbuf_query('drop table if exists ' . self::table("proprietes"));
+ self::init();
+ }
+
+ public static function init() {
+ self::unbuf_query('create table if not exists ' . self::table("pages") . ' ('
+ . 'uid_page integer auto_increment primary key'
+ . ')');
+ self::unbuf_query('create table if not exists ' . self::table("enfants") . ' ('
+ . 'uid_page integer,'
+ . 'uid_page_parent integer,'
+ . 'groupe char(10)'
+ . ')');
+ self::unbuf_query('create table if not exists ' . self::table("proprietes") . ' ('
+ . 'uid_prop integer,'
+ . 'uid_page integer,'
+ . 'systeme bool,'
+ . 'nom char(30),'
+ . 'valeur char'
+ .')');
+ }
+
+ public static function unbuf_query($q) {
+ debug::info("sql : " . $q . ";");
+ mysql_unbuffered_query($q . ";", self::get()) or Debug::sqlerror();
+ }
+
+ public static function table($nom) {
+ return Config::get('db_prefixe') . $nom;
+ }
+
+ public static function test() {
+ $result = mysql_query("SELECT id, name FROM mytable") or Debug::sqlerror();
+ echo "
";
+
+ while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
+ printf("ID : %s Nom : %s", $row[0], $row[1]);
+ }
+
+ mysql_free_result($result);
+ }
+
+ public static function close() {
+ mysql_close(self::get());
+ }
+}
+
+
+
+ /*
+
class DB extends Selectable {
private static $handle = null;
public function __construct() {
@@ -63,5 +137,6 @@ class Selectable {
}
}
+ */
?>
\ No newline at end of file
diff --git a/cms2/code/debug.php b/cms2/code/debug.php
index 70cb09c..afbbb64 100644
--- a/cms2/code/debug.php
+++ b/cms2/code/debug.php
@@ -16,6 +16,9 @@ class Debug {
self::afficher(false, false, true);
die();
}
+ public static function sqlerror() {
+ self::error("MySQL : " . mysql_error());
+ }
public static function afficher($start = true, $print = true, $end = true) {
if ($start) {
echo "
"; diff --git a/cms2/code/main.php b/cms2/code/main.php index 6716b19..b85f5b5 100644 --- a/cms2/code/main.php +++ b/cms2/code/main.php @@ -1,6 +1,12 @@ rendu(); diff --git a/cms2/config.php b/cms2/config.php index 932ca68..e7ddb04 100644 --- a/cms2/config.php +++ b/cms2/config.php @@ -22,6 +22,27 @@ Config::set('chemin_base_stockage', Path::combine(Config::get('chemin_base'), "/ // En général, c'est le chemin vers le dossier contenant __cms__ Config::set('chemin_base_public', Path::combine(Config::get('chemin_base'), "/..")); +// Adresse de la base de données. Syntaxe : "hôte", "hôte:port", ":/chemin/vers/socket". +Config::set('db_hôte', "localhost"); + +// Utilisateur de la base de données. +Config::set('db_utilisateur', "root"); + +// Mot de passe de l'utilisateur de la base de données. +Config::set('db_mot_de_passe', " "); + +// Base dans la base de données (non, ils pouvaient pas faire plus compliqué... m'éneeeeeervent). +// Sous ubuntu : +// mysql -u root -p +// taper le mot de passe donné à l'installation +// create database mss; +// show databases; +// quit +Config::set('db_base', "mss"); + +// Préfixe pour les tables de la base de données. +Config::set('db_prefixe', "moteur_site_simple_2010_"); + // ======== FIN CONFIGURATION ======= ?> \ No newline at end of file