Database locale pour application HTML
Bonjour,
Je cherche à faire une petite application personnelle dans un format type HTML. Pour cela, j'aimerais accéder à une base de données locale (de type sqlite si possible) où j'aurais stocké des données, et à laquelle la page HTML me permettrait d'accéder grâce à des fonctions en javascript.
J'aimerai savoir s'il est possible de créer cette base de données directement dans le dossier de la page HTML, sans avoir à aller la chercher dans le dossier AppData du navigateur dont je vais me servir. Sinon, est-ce que quelqu'un a une meilleure idée de la marche à suivre ?
J'espère que ma requête est suffisamment claire, n'hésitez pas à me demander des précisions sinon.
Merci d'avance.
Je cherche à faire une petite application personnelle dans un format type HTML. Pour cela, j'aimerais accéder à une base de données locale (de type sqlite si possible) où j'aurais stocké des données, et à laquelle la page HTML me permettrait d'accéder grâce à des fonctions en javascript.
J'aimerai savoir s'il est possible de créer cette base de données directement dans le dossier de la page HTML, sans avoir à aller la chercher dans le dossier AppData du navigateur dont je vais me servir. Sinon, est-ce que quelqu'un a une meilleure idée de la marche à suivre ?
J'espère que ma requête est suffisamment claire, n'hésitez pas à me demander des précisions sinon.
Merci d'avance.
3 réponses
-
apparemment il est possible de creer une BDD en javascript,
vas voir ce site:
http://ww11.biblioscript.com/javascript/base_base.shtml
évidement les données sont rentrées manuellement dans le fichier html (voir la partie "debut des données" du script)
je l'ai un peu retravaillé:<html> <head> <script type="text/JavaScript"> // appel de la fonction principale et formatage de l'après réponse function validate_form() { txt = document.form.search.value; jsi = new makeLinks(linksize); searchLinks(jsi, txt); document.write("<hr>"); document.write("<a href='nom_de_ton_fichier.html'>Retour</a> à la recherche.<br><br> "); } function makeEntry (){ this.Name=""; this.URL = ""; this.Desc = ""; this.Category = ""; this.Target = ""; return this; } function makeArray(n) { this.length = n; for (var k = 1; k <= n; k++) { this[k] = ""; } return this; } // Création du tableau de la base function makeLinks(size) { this.length = size; for (var r=1; r<= size; r++) { this[r] = new makeEntry(); this[r].Name = namesArray[r]; this[r].URL = urlsArray[r]; this[r].Desc = descArray[r]; this[r].Category = categoryArray[r]; this[r].Target = targetArray[r]; } return this; } // Description et indexation du tableau de la base var linksize=0 datesArray = new Array(linksize); namesArray = new Array(linksize); urlsArray = new Array(linksize); descArray = new Array(linksize); categoryArray = new Array(linksize); targetArray = new Array(linksize); // Initialisation de la base var arraycount=0; // Début des données urlsArray[arraycount] = "https://actus.sfr.fr"; namesArray[arraycount] = "Club Internet"; descArray[arraycount] = "provider fai isp fournisseur"; categoryArray[arraycount] = "vendeur"; targetArray[arraycount] = "target=_top"; arraycount +=1; urlsArray[arraycount] = "https://www.orange.fr/portail"; namesArray[arraycount] = "Wanadoo"; descArray[arraycount] = "provider fai isp fournisseur france telecom"; categoryArray[arraycount] = "2"; targetArray[arraycount] = "target=_top"; arraycount +=1; urlsArray[arraycount] = "https://www.orange.fr/portail"; namesArray[arraycount] = "Orange"; descArray[arraycount] = "provider fai isp fournisseur france telecom"; categoryArray[arraycount] = "3"; targetArray[arraycount] = "target=_top"; // Taille du tableau linksize = arraycount; //creation liste deroulante: function crea_liste_deroulante(array_donnees_liste){ var array_liste= new Array(); array_liste=array_donnees_liste; var liste='<select name="search" >'; for(i=0;i<array_liste.length;i++){ liste=liste+'<option value="'+array_liste[i]+'">'+array_liste[i]+'</option>'; } liste=liste+'</select>'; return liste; } // La fonction de recherche elle-même function searchLinks(links, keyword){ // la ligne d'en-tête de la réponse à la base de données document.write("<u>Résultat de la recherche sur <strong>" + keyword + "</strong> :</u><br><br>"); for (var q=1; q<=links.length; q++) { // Pour chercher sur un élément du tableau, il faut créer un paragraphe comme suit avec le nom de l'élément, ici : URL, ensuite : Desc... if (links[q].URL.toLowerCase().indexOf(keyword) != -1){ document.write("<a href=" + links[q].URL +" " + links[q].Target + ">" + links[q].Name + "</a> "); document.write( links[q].Category + "<br><br>"); continue; } if (links[q].Desc.toLowerCase().indexOf(keyword) != -1) { document.write("<a href=" + links[q].URL +" " + links[q].Target + ">" + links[q].Name + "</a> "); document.write( links[q].Category + " "); continue; } if (links[q].Name.toLowerCase().indexOf(keyword) != -1) { document.write("<a href=" + links[q].URL +" " + links[q].Target + ">" + links[q].Name + "</a> "); document.write( links[q].Category + " "); continue; } } } </script> </head> <body> <form name="form"> Choisir l'élément recherché... <div id="liste_content"><!-- ici la liste va etre ecrite par le innerHTML --></div> <input type="button" name="submit" value="Rechercher" onClick="validate_form()"> </form> <script type="text/JavaScript"> //// ATTENTION cette partie de javascript doit être après le formulaire sinon on ne trouve pas l'id "liste_content" // on lance la fonction creation de la liste déroulante liste=crea_liste_deroulante(urlsArray); //on l'ecrit dans la page dans le div id_content document.getElementById('liste_content').innerHTML=liste; </script> </body> </html>