Une base de données sans base de données ?
Résolu/Fermé
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
-
25 janv. 2011 à 09:36
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 - 7 févr. 2011 à 11:38
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 - 7 févr. 2011 à 11:38
A voir également:
- Une base de données sans base de données ?
- Formules excel de base - Guide
- Reinstaller windows sans perte de données - Guide
- Désolé l'utilisation de la base de données a expiré epic games - Forum Jeux vidéo
- Tnt base de données vide - Forum TNT / Satellite / Réception
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
5 réponses
Eastchild
Messages postés
319
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
28 mars 2012
31
Modifié par baladur13 le 2/02/2011 à 14:15
Modifié par baladur13 le 2/02/2011 à 14:15
Bonjour,
Donc si j'ai bien compris, tu n'as pas de serveur SQL. Je te propose d'utiliser le XML : https://www.commentcamarche.net/contents/1332-xml-introduction-a-xml
no frame no pain
Remis lien conforme
Donc si j'ai bien compris, tu n'as pas de serveur SQL. Je te propose d'utiliser le XML : https://www.commentcamarche.net/contents/1332-xml-introduction-a-xml
no frame no pain
Remis lien conforme
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
25 janv. 2011 à 15:56
25 janv. 2011 à 15:56
Salut,
L'alternative du XML semble la plus propre, mais seulement pour des petites bases a stocker.. Sinon ca deviendra très vite très lent et encombrant pour ton serveur.. ou alors faudra implémenter un système de cache mais la c'est un petit peu plus poussé.
Pour les cours de XML effectivement c'est assez simpliste dans l'ensemble vu que c'est Human readable, le plus dur sera de bien structurer tes fichiers afin de t'y retrouver facilement..
Pour te simplifier la tache, tu devrais utiliser la sérialisation pour te générer directement du XML si tu codes en objet, ca t'évitera de coder des parsers..
Pas besoin de réinventer la roue des classes toutes prêtes existent ;)
L'alternative du XML semble la plus propre, mais seulement pour des petites bases a stocker.. Sinon ca deviendra très vite très lent et encombrant pour ton serveur.. ou alors faudra implémenter un système de cache mais la c'est un petit peu plus poussé.
Pour les cours de XML effectivement c'est assez simpliste dans l'ensemble vu que c'est Human readable, le plus dur sera de bien structurer tes fichiers afin de t'y retrouver facilement..
Pour te simplifier la tache, tu devrais utiliser la sérialisation pour te générer directement du XML si tu codes en objet, ca t'évitera de coder des parsers..
Pas besoin de réinventer la roue des classes toutes prêtes existent ;)
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
25 janv. 2011 à 16:26
25 janv. 2011 à 16:26
Je pense que l'idéal serait d'avoir un exemple détaillé...
Par exemple, j'en ai vu un qui revenait souvent avec un liste de mp3 :
On revient souvent avec ça, mais concrètement comment je peux utiliser ça ?
Est-ce qu'il existe un moyen d'utiliser cette liste pour faire des requêtes (recherches, ajouts et suppressions de données ?
J'ai compris les bases du XML, c'est bien joli, mais pour en faire quoi. J'ai parcouru des forums et des cours à m'en taper la tête contre les murs et j'ai toujours rien... Comprenez ma frustration!
Ca n'est expliqué nulle part...
Merci à tous les deux pour votre aide jusqu'à présent, si je pouvais avoir un bout de code (en m'expliquant ou je dois mettre quoi) qui m'indiquerait ce que je peux faire avec ces foutus mp3 en xml, je serais vraiment content !
Merci d'avance...
Par exemple, j'en ai vu un qui revenait souvent avec un liste de mp3 :
<?xml version="1.0"?> <compilation> <mp3><titre>Foule sentimentale</titre><artiste>Alain Souchon</artiste></mp3> <mp3><titre>Solaar pleure</titre> <artiste>MC Solaar</artiste></mp3> <mp3><titre>Le baiser</titre> <artiste>Alain Souchon</artiste></mp3> <mp3><titre>Pourtant</titre><artiste>Vanessa Paradis</artiste></mp3> <mp3><titre>Chambre avec vue</titre> <artiste>Henri Salvador</artiste> </mp3> </compilation>
On revient souvent avec ça, mais concrètement comment je peux utiliser ça ?
Est-ce qu'il existe un moyen d'utiliser cette liste pour faire des requêtes (recherches, ajouts et suppressions de données ?
J'ai compris les bases du XML, c'est bien joli, mais pour en faire quoi. J'ai parcouru des forums et des cours à m'en taper la tête contre les murs et j'ai toujours rien... Comprenez ma frustration!
Ca n'est expliqué nulle part...
Merci à tous les deux pour votre aide jusqu'à présent, si je pouvais avoir un bout de code (en m'expliquant ou je dois mettre quoi) qui m'indiquerait ce que je peux faire avec ces foutus mp3 en xml, je serais vraiment content !
Merci d'avance...
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
Modifié par chico200987 le 25/01/2011 à 17:23
Modifié par chico200987 le 25/01/2011 à 17:23
D'accord partons sur cet exemple.
Ce fichier XML est stocke a la racine dans "collection.xml".
Tu peux faire comme ceci :
Ce n'est qu'un ebauche vraiment minimale pour le chargement des donnees.
Ce fichier XML est stocke a la racine dans "collection.xml".
Tu peux faire comme ceci :
<?php //debut classe class compilation { private $mesChansons; //constructeur public function __construct() { $this->mesChansons = array(); } public function loadChansons() { $data = file_get_contents("collection.xml"); // Attention ne marche que sous PHP5 $xml = new SimpleXMLElement($data); $i = 0; foreach($xml as $mp3) { $this->mesChansons[$i]['titre'] = $mp3->titre; $this->mesChansons[$i]['artiste'] = $mp3->artiste; $i++; } } public function getChansons() { return $this->mesChansons; } } //Fin de classe // $monObj = new compilation(); $monObj-> loadChansons(); $mesChansons = $monObj->getChansons(); foreach ($mesChansons as $cle => $mp3) echo "Titre : <b>" . $mp3['titre'] . "</b> de <b>" . $mp3['artiste'] . "</b><br />"; ?>
Ce n'est qu'un ebauche vraiment minimale pour le chargement des donnees.
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
7 févr. 2011 à 10:08
7 févr. 2011 à 10:08
Salut,
Comme $mesChansons est un array, tu peux utiliser toute les fonctions PHP pour les tableaux.
Par exemple la fonction sort() (cf : https://www.php.net/manual/fr/function.sort.php te permet de trier ton tableau par ordre alphabetique avec un simple :
Pour avoir seulement ceux de la lettre A tu peux faire quelque chose comme :
Pour verifier tu affiches ton nouveau tableau :
Il est vrai que la petite classe d'au dessus je ne l'ai pas commente.. Si quelque chose te gene n'hesite pas :)
Comme $mesChansons est un array, tu peux utiliser toute les fonctions PHP pour les tableaux.
Par exemple la fonction sort() (cf : https://www.php.net/manual/fr/function.sort.php te permet de trier ton tableau par ordre alphabetique avec un simple :
$mesChansonsTrieesAlphaB = sort($mesChansons, SORT_STRING);
Pour avoir seulement ceux de la lettre A tu peux faire quelque chose comme :
// Declaration du tableau $mesChansonsA = array(); $i = 0; // Pour chaque mp3 du tableau du fichier XML foreach ($mesChansons as $cle => $mp3) // Si la premiere lettre est un A if (stristr(substr($mp3['artiste'], 0, 1), "A")) { // On l'ajoute dans le nouveau tableau $mesChansonsA[$i] = $mp3; $i++; }
Pour verifier tu affiches ton nouveau tableau :
foreach ($mesChansonsA as $cle => $mp3) echo "Titre : <b>" . $mp3['titre'] . "</b> de <b>" . $mp3['artiste'] . "</b><br />";
Il est vrai que la petite classe d'au dessus je ne l'ai pas commente.. Si quelque chose te gene n'hesite pas :)
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
7 févr. 2011 à 10:45
7 févr. 2011 à 10:45
Merci c'est super comme script... Au moins un programmeur qui pense aux débutants... Merci.
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
Modifié par chico200987 le 7/02/2011 à 11:39
Modifié par chico200987 le 7/02/2011 à 11:39
Derien,
Mais j'ai oublie ta question sur l'ajout par formulaire..
Tu as deux solutions, soit manipuler directement le fichier XML en rajoutant du texte "a la main" (avec fopen(), fwrite(), etc..) mais ce n'est pas propre..
La deuxieme solution, c'est tout simplement dans la page de ton formulaire envoyé (ce que tu mets dans action=...) de :
- Importer la liste des chansons existantes comme on a fait dans loadChansons()
- Rajouter ton mp3 dans le xml en variable que tu viens de recuperer
- Exporter la liste dans ton fichier XML ce qui doit donner un truc du style :
Ce bout de code est a prendre avec des pincettes je fais ca sans tester, des erreurs peuvent s'y glisser et je m'en excuse si c'est le cas.. L'essentiel est que tu comprennes sans copier/coller tout le code betement ;)
Mais j'ai oublie ta question sur l'ajout par formulaire..
Tu as deux solutions, soit manipuler directement le fichier XML en rajoutant du texte "a la main" (avec fopen(), fwrite(), etc..) mais ce n'est pas propre..
La deuxieme solution, c'est tout simplement dans la page de ton formulaire envoyé (ce que tu mets dans action=...) de :
- Importer la liste des chansons existantes comme on a fait dans loadChansons()
- Rajouter ton mp3 dans le xml en variable que tu viens de recuperer
- Exporter la liste dans ton fichier XML ce qui doit donner un truc du style :
// On charge le fichier xml $data = file_get_contents("collection.xml"); // On declare notre objet pour le manipuler $xml = new SimpleXMLElement($data); // On rajoute un noeud mp3 dans ton objet $new_mp3 = $xml->addChild('mp3'); // On lui met ses valeurs titre/artiste $new_mp3->addChild('titre', $_POST['titre']); $new_mp3->addChild('artiste', $_POST['artiste']); // On exporte l'objet directement dans le fichier xml $xml->asXML("collection.xml");
Ce bout de code est a prendre avec des pincettes je fais ca sans tester, des erreurs peuvent s'y glisser et je m'en excuse si c'est le cas.. L'essentiel est que tu comprennes sans copier/coller tout le code betement ;)
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
7 févr. 2011 à 11:30
7 févr. 2011 à 11:30
J'avais trouvé quelque chose à ce sujet entre-temps mais je préfère finalement ta version... Car comme tu dis, je comprends grâce çà ce que j'ai vu et ce que tu expliques... C'est ça que je cherche à faire... Ca m'intéresse, c'est tout.
Merci pour ton aide...
Merci pour ton aide...
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
7 févr. 2011 à 11:38
7 févr. 2011 à 11:38
Au plaisir !
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
Modifié par Fetide68 le 25/01/2011 à 14:30
Modifié par Fetide68 le 25/01/2011 à 14:30
C'est bien ce que je pensais...
Par contre merci pour ton lien et ton aide, mais les cours d'XML de CCM sont vraiment nuls (désolé de le dire, mais je n'aime pas du tout ces cours là en particulier). CCM t'explique en gros qu'XML c'est pas grand chose et qu'il y a pleins de choses qui gravitent autour, ce que disent pleins de sites sur le sujets...
Je suis largué, le meilleur lien que j'ai trouvé, c'est celui-ci : https://xml.developpez.com/
Mais c'est pas facile de trouver les bonnes bases...
Merci.
Par contre merci pour ton lien et ton aide, mais les cours d'XML de CCM sont vraiment nuls (désolé de le dire, mais je n'aime pas du tout ces cours là en particulier). CCM t'explique en gros qu'XML c'est pas grand chose et qu'il y a pleins de choses qui gravitent autour, ce que disent pleins de sites sur le sujets...
Je suis largué, le meilleur lien que j'ai trouvé, c'est celui-ci : https://xml.developpez.com/
Mais c'est pas facile de trouver les bonnes bases...
Merci.
Eastchild
Messages postés
319
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
28 mars 2012
31
25 janv. 2011 à 15:20
25 janv. 2011 à 15:20
Ne t'inquiète pas, XML n'est pas très compliqué (une fois que tu as compris les bases tu peux quasiment tout faire) et se parse très bien avec du php :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
2 févr. 2011 à 12:06
2 févr. 2011 à 12:06
Merci Chico,
Désolé pour ma réponse tardive, mais il m'a fallu du temps pour déchiffrer ton code et ta classe. Elle reste peu orientée débutant, mais c'est la plus facile à comprendre de celles que j'ai vue.
A priori, tu utilises SimpleXML.
Est-il possible d'ajouter des mp3 dans le xml via des formulaires ?
Est-il possible aussi de créer des filtres (trier par ordre alpha, tous les artistes avec commençant par la lettre A) ?
Merci pour tout !
Désolé pour ma réponse tardive, mais il m'a fallu du temps pour déchiffrer ton code et ta classe. Elle reste peu orientée débutant, mais c'est la plus facile à comprendre de celles que j'ai vue.
A priori, tu utilises SimpleXML.
Est-il possible d'ajouter des mp3 dans le xml via des formulaires ?
Est-il possible aussi de créer des filtres (trier par ordre alpha, tous les artistes avec commençant par la lettre A) ?
Merci pour tout !