Skip to content

Instantly share code, notes, and snippets.

@alexandrejulien
Created November 12, 2012 21:46
Show Gist options
  • Save alexandrejulien/4062145 to your computer and use it in GitHub Desktop.
Save alexandrejulien/4062145 to your computer and use it in GitHub Desktop.
Exemple d'utilisation de WebSQL
/**
* =================================================
* Tutorial WebSQL - Alexandre JULIEN
* http://www.alexandre-julien.com/html5/websql/
* =================================================
* Exemple d'utilisation de WebSql en HTML5 en création une petite base de données de blog.
*/
/*
* Instanciation d'une base de données de 2 Mo qui se nomme BlogDB.
*/
var maBaseDeDonnees = openDatabase('BlogDB', '1.0', 'Base de données de stockage pour préparer des billets hors-connexion', 2097152);
/*
* Première transaction
* Création du schéma de données avec les scripts SQL.
*/
maBaseDeDonnees.transaction(function(t) {
t.executeSql('CREATE TABLE post (id, title, content, author, category) ');
});
maBaseDeDonnees.transaction(function(t) {
t.executeSql('CREATE TABLE author (id, login, name, email) ');
});
/*
* Ajout des données de tests.
*/
maBaseDeDonnees.transaction(function(t) {
t.executeSql(' INSERT INTO author (id, login, name, email) VALUES (1, "alexandrejulien", "Alexandre JULIEN", "mail@alexandrejulien.com") ');
});
maBaseDeDonnees.transaction(function(t) {
t.executeSql(' INSERT INTO post (id, title, content, author, category) VALUES (1, "Test de post WebSQL", "Ceci est un test de post JS", 1, "JavaScript / HTML5") ');
});
/*
* Requête SQL pour récupérer les données.
*/
// Variable qui va récupérer le résultat
var results;
// Exécution de la requête et retour dans la variable "result"
maBaseDeDonnees.readTransaction(function(t) {
t.executeSql(' SELECT * FROM post INNER JOIN author ON post.author = author.id ', [], function(t, data) {
results = data;
});
});
// dump js de la variable "result"
console.debug(results);
// écriture du résultat de la requête sous forme textuelle
for(var i = 0; i < results.rows.length; i++) {
console.debug(' Article ayant pour titre ' + results.rows.item(i).title + ' écrit par ' + results.rows.item(i).name + ' dans la catégorie ' + results.rows.item(i).category);
}
console.debug("Merci pour l'intérêt que vous portez à ce petit tutorial.");
@palamaris
Copy link

super pour une app android en webview. Ca marche ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment