contact@luc-mergault.fr

JsonBdd – Une base de données en JSON

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

JsonBdd – Une base de données en JSON

0
(0)

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 :

https://i.luwe.fr/f285fe0f.png

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 result=false code=true ]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());
}[/code]

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 result=false code=true ]$bdd->bddReset();[/code]

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 result=false code=true ]$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;[/code]

Rechercher une valeur dans une table :


[code result=false code=true ]//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")[/code]

Mettre à jour une valeur :


[code result=false code=true ]//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" )[/code]

Supprimer une valeur :


[code result=false code=true ]//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" )[/code]

Et pour finir, vous pouvez supprimer une table :


[code result=false code=true ]$bdd->tableDelete('Nom de votre table a supprimer');[/code]

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


[code result=false code=true ]//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('

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

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.

  • 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 0 / 5. Nombre de vote : 0

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