Début d'implémentation d'accès à la base de données.
This commit is contained in:
parent
42b220434a
commit
e4a330f5b5
|
@ -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 "<br/><br/>";
|
||||
|
||||
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 {
|
|||
}
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
?>
|
|
@ -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 "<pre>";
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
<?php
|
||||
|
||||
function main() {
|
||||
$bdd = BDD::get();
|
||||
BDD::reset();
|
||||
BDD::close();
|
||||
Debug::afficher();
|
||||
exit;
|
||||
|
||||
$g = new AdminListeUtilisateurs();
|
||||
|
||||
$p = $g->rendu();
|
||||
|
|
|
@ -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 =======
|
||||
|
||||
?>
|
Loading…
Reference in New Issue
Block a user