contact@luc-mergault.fr

Json Bdd – Une base de données en JSON

Je partage à travers ce blog mes projets et ma passion pour l'informatique en général.

Json Bdd – Une base de données en JSON

5
(1)

Le projet JSON BDD est un projet PHP visant à reproduire un système de base de donné très simplifié utilisant la structure de données JSON.


Cet article est une archive du 12 Juin 2016 ( En savoir plus ).


Informations
Début de réalisation : 7 Juin 2016
Fin de réalisation : 9 Juin 2016
Télécharger l’animation d’exemple : Mega

Hello tout le monde !

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

Présentation de JSON BDD

Json Bdd, c'est une petite application que j'ai réalisé pour le plaisir, et l’entraînement !

Json Bdd 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 d'un projet différent.

Donc Json Bdd, c'est une base de données, gérée en PHP, et enregistrée au format JSON.

Attention, 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.

Fonctionnement de JSON BDD

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 :

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.

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

Utilisation du projet

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

$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 ) :

$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 :

//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 :

//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 :

//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 :

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

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

//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();

Conclusion

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 :

Et un petit tchat qui fonctionne avec, ici :

Sur ce, j’espère que le code vous sera utile, merci de m'avoir lu,

Et à bientôt pour une nouvelle création !

  • Bitcoin
  • Ethereum
  • Binance coin
  • MetaMask
Scan to Donate Bitcoin to bc1qrunuqqs7e8e5x7lctmgflvde8claupv44qa9fg

Soutenez moi en envoyant des Bitcoin !

Scannez le QR code ci-dessous ou copiez l'adresse suivante pour me soutenir en envoyant des Bitcoin 😃

Scan to Donate Ethereum to 0x81D56c63Df07ef938425e53185984DC5670E206C

Soutenez moi en envoyant des Ethereum !

Scannez le QR code ci-dessous ou copiez l'adresse suivante pour me soutenir en envoyant des Ethereum 😃

Scan to Donate Binance coin to bnb18dy3mv3f6y7h4uems5d8emn8g7zgfq7vlslkpk

Soutenez moi en envoyant des Binance coin !

Scannez le QR code ci-dessous ou copiez l'adresse suivante pour me soutenir en envoyant des Binance coin 😃

Donner avec MetaMask

Si vous utilisez Metamask, vous pouvez me soutenir très simplement en cliquant sur ce bouton !

Donnez une note à cet article 😉

Note moyenne 5 / 5. Nombre de vote : 1

Pas encore de note, soyez le premier à donner une note !

Merci ! Partage cet article !

Je suis désolé que cet article ne te plaise pas

Améliorons cet article !

Dis moi ce que je peux améliorer !

 

Aucun commentaire

Ajoutez votre commentaire