0
TéléchargerLienJsonBdd - Une base de données en JSON

Type : Code - Posté le
JsonBdd - Une base de données en JSON

Hello tout le monde !

Aujourd’hui, nouvelle présentation de code que j'ai réalisé :)

JsonBdd, c'est une petite application que j'ai réalisé pour le plaisir, et l’entraînement !
JsonBdd m'a permis de mettre en pratique la POO PHP, qui est un domaine que j'ai appris récemment.

Si vous êtes développeur web, vous savez qu'il faut utiliser une base de données pour gérer ses projets.
Habituellement, on utilise des bases de données MySQL pour cela.
Cependant, je me suis dit qu'il serait intéressant de faire ça différemment, et de mettre mes compétences à l’épreuve pour la réalisation.
Donc JsonBdd, c'est une base de données, gérée en PHP, et enregistrée au format JSON.

Note : Je ne prétends pas avoir créé un nouveau système de base de données, une fois de plus, j'ai réalisé ce projet pour mettre en pratique mes compétences.

Rappel de la structure d'une base de données classique :



Comment ça marche ?

C'est très simple ! Dans un premier temps, vous devez télécharger le dossier dispo en fin de l'article, inclure ce dossier à votre projet, et pour finir, "include" ou "require" le fichier "json_bdd.php" dans vos fichiers qui ont besoin de l'utiliser.
Une fois cela réalisé, vous allez dans un premier temps vous connecter à votre base de données ( Si elle n'est pas créée, elle le sera automatiquement ).

Connecter sa base de données :

Code source ( Copier )
try
{
$bdd = new JBDD();
$bdd->connect(array(
'name' => //Nom de la base de données,
'password' => //Mot de passe de la base de données
));
}
catch(Exception $e)
{
echo($e->getMessage());
}


Ensuite, plusieurs possibilités s'offrent à vous.

Note : Des erreurs sont retournées en cas de problèmes, pour les récupérer : $error = $bdd->_error

Reset la base de données sur laquelle vous êtes connectés :

Code source ( Copier )
$bdd->bddReset();


Insertion d'une valeur dans une table de la base de données ( La table est automatiquement créée si elle n’existe pas ) :

Code source ( Copier )
$bdd->insert(array(
'table' => //Nom de votre table,
'values' => array(
'id de valeur 1' => //Valeur 1,
'id de valeur 2' => //Valeur 2
//Etc ...
)
));
//Valeur de réponse : Un tableau contenant toutes les infos sur la valeur entrée
$reponse = $bdd->_reponse;


Rechercher une valeur dans une table :

Code source ( Copier )
//Recherche avec l'id d'auto increment :
$bdd->get(array(
'table' => //Nom de votre table de recherche,
'aid' => //Id numérique de recherche
));
//Valeur de réponse : Un tableau contenant toutes les infos sur la valeur recherchée
$reponse = $bdd->_reponse;
//Recherche toutes les valeurs d'une table :
$bdd->get(array(
'table' => //Nom de votre table de recherche,
'all' => true
));
//Valeur de réponse : Un tableau contenant toutes les infos sur les valeurs recherchées
$reponse = $bdd->_reponse;
//Recherche avec une valeur ( Équivalent d'un WHERE en SQL ) :
$bdd->get(array(
'table' => //Nom de votre table de recherche,
'where' => array(
'id de valeur de recherche 1' => //Valeur de recherche 1,
'id de valeur de recherche 2' => //Valeur de recherche 2
//Etc ...
)
));
//Valeur de réponse : Un tableau contenant toutes les infos sur les valeurs recherchées
$reponse = $bdd->_reponse;

//Options disponibles :
// 'whereLike' => true : Vous permet de sélectionner une valeur qui contient les valeurs définies dans le tableau "where" ( Dispo qu'avec le mode de recherche "where" )
// 'reverse' => true : Inverser les données du tableau ( Dispo qu'avec les modes de recherches "all" et "where")
// 'smin' => 2 et 'smax' => 40 : Équivalent à "LIMIT" du SQL ( Dispo qu'avec les modes de recherches "all" et "where")


Mettre à jour une valeur :

Code source ( Copier )
//Mettre à jour avec l'id d'auto increment :
$bdd->update(array(
'table' => //Nom de votre table à mettre à jour,
'aid' => //Id numérique de recherche,
'newValue' => array(
'id de valeur 1' => //Nouvelle valeur 1,
'id de valeur 2' => //Nouvelle valeur 2
//Etc ...
)
));
//Valeur de réponse : Un tableau contenant toutes les infos sur la nouvelle valeur entrée
$reponse = $bdd->_reponse;
//Mettre à jour avec une valeur de recherche ( Équivalent d'un WHERE en SQL ) :
$bdd->update(array(
'table' => //Nom de votre table à mettre à jour,
'where' => array(
'id de valeur de recherche 1' => //Valeur de recherche 1,
'id de valeur de recherche 2' => //Valeur de recherche 2
//Etc ...
),
'newValue' => array(
'id de valeur 1' => //Nouvelle valeur 1,
'id de valeur 2' => //Nouvelle valeur 2
//Etc ...
)
));
//Valeur de réponse : Un tableau contenant toutes les infos sur la nouvelle valeur entrée
$reponse = $bdd->_reponse;
//Options disponibles :
// 'whereLike' => true : Vous permet de sélectionner une valeur qui contient les valeurs définies dans le tableau "where" ( Dispo qu'avec le mode de recherche "where" )


Supprimer une valeur :

Code source ( Copier )
//Supprimer avec l'id d'auto increment :
$bdd->delete(array(
'table' => //Nom de votre table de recherche,
'aid' => //Id numérique de l'entré à supprimer
));
//Supprimer avec une valeur de recherche ( Équivalent d'un WHERE en SQL ) :
$bdd->delete(array(
'table' => //Nom de votre table de recherche,
'where' => array(
'id de valeur de recherche 1' => //Valeur de recherche 1,
'id de valeur de recherche 2' => //Valeur de recherche 2
//Etc ...
)
));
//Options disponibles :
// 'whereLike' => true : Vous permet de sélectionner une valeur qui contient les valeurs définies dans le tableau "where" ( Dispo qu'avec le mode de recherche "where" )


Et pour finir, vous pouvez supprimer une table :

Code source ( Copier )
$bdd->tableDelete('Nom de votre table a supprimer');



Bon, et comme c'est toujours mieux avec un exemple :

Code source ( Copier )
//Connexion à la base de données
$bdd = new JBDD();
$bdd->connect(array(
'name' => "Test",
'password' => "Test123"
));
//On insert des valeurs de tests
$bdd->insert(array(
'table' => "test",
'values' => array(
'nom' => "Mergault",
'prenom' => "Luc",
'pseudo' => "Lulu"
)
));
//On affiche les données enregistrées :
echo('Bonjour '.$bdd->_reponse['values']['nom'].' '.$bdd->_reponse['values']['prenom'].', ton pseudo est : '.$bdd->_reponse['values']['pseudo']);
//On update les infos du user
$bdd->update(array(
'table' => 'test',
'aid' => $bdd->_reponse['aid'],
'newValue' => array(
'pseudo' => "Luluwebmaster"
)
));
//On affiche un petit message
echo('<br /><br />Tu viens de changer de pseudo : '.$bdd->_reponse[0]['values']['pseudo']);
//Finalement, on supprime le user
$bdd->delete(array(
'table' => 'test',
'aid' => $bdd->_reponse[0]['aid']
));
//Et puis j'ai envie de supprimer la table
$bdd->tableDelete('test');
//Et de reset la base de données
$bdd->bddReset();


Et voilà, j'en ai fini pour la présentation de cette création :)

Si vous avez des questions, un bug à report, ou tout autre chose à dire, n'hésitez pas dans les commentaires.

Vous pouvez trouver le projet sur GitHub :

- https://github.com/luluwebmaster/JsonBdd

Et un petit tchat qui fonctionne avec, ici :

- Lien à venir

Le code du tchat est aussi disponible sur GitGub :

- Lien à venir

Sur ce, j’espère que le code vous sera utile, merci de m'avoir lu,
Et à bientôt pour une nouvelle création

Merci à Seartic pour la correction du texte.

Poster un commentaire