För att få lite liv i min applikation så valde jag att implementera något dynamiskt.

För att man skall kunna se att något händer så valde jag att titta på databasmöjligheter i Jaxer.
Det visade sig att tack vore Jaxers API allt verkar enkelt enkelt.

Först skapar jag en uppkoppling mot databasen med följande:

var connection = new Jaxer.DB.MySQL.Connection(
{
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASS': 'password',
'NAME': 'my_schema',
'CLOSE_AFTER_EXECUTE': true
});
HOST, PORT, USER, PASS, NAME samt CLOSE_AFTER_EXECUTE är parametrar som motsvarar inloggningsuppgifter samt adressen till databasen.

För att kunna exekvera ett SQL Query fråga kör man följande:

connection.execute('DELETE FROM table WHERE username = "mikwiat"');

I detta fallet tar jag bort alla poster fron tabellen där användarnamnet är lika med ”mikwiat”.

Man behöver inte stänga uppkopplingen då Vi satte ”CLOSE_AFTER_EXECUTE’ till true, annars stängs uppkopplingen med följande:

connection.close();

För att hämta datan (i det fallet små post-it lappar) från databasen kör jag följande kod:

function get_notes_from_db(username)
{
 var c = new Jaxer.DB.MySQL.Connection({
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASS': 'password',
'NAME': 'my_schema',
'CLOSE_AFTER_EXECUTE': true
});
// Ställer frågan för att hämta antal post-it lappar
var count_q = c.execute('SELECT COUNT(*) AS count FROM notes WHERE username = "' + username + '"');
// Ställer frågan för att hämta alla post-it lappar för en specifik användare
var note_q = c.execute('SELECT note_id, note FROM notes WHERE username = "' + username + '"');
// Definerar vad (vilka kolumner) som skall hämtas ut
var count = ['count'];
var note_id = ['note_id'];
var note = ['note'];
// Hämtar kolumner
var e_count = count_q.extractColumns(count);
var e_note_id = note_q.extractColumns(note_id);
var e_note = note_q.extractColumns(note);
// Skapar en array som skall innehålla varje post-it-array
var a_notes = new Array();
// Loopar genom antalet post-it-lappar
for(var i = 0; i < e_count[0].count; i++)
{
// skapar en post-it-array
a_notes[i] = new Array(e_note_id[i].note_id, e_note[i].note);
}
// Returnerar  alla post-it-arrayer i en array
return a_notes;
}

Koden för att ta bort post-it lappas för ut på följande sätt:

function remove_notes_from_db(username, note_id)
{
var c = new Jaxer.DB.MySQL.Connection({
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASS': 'password',
'NAME': 'my_schema',
'CLOSE_AFTER_EXECUTE': true
});
var remove_note_query = c.execute('DELETE FROM notes WHERE note_id = "' + note_id + '" AND username = "' + username + '"');
// kollar om frågan kördes korrekt
if(remove_note_query)
{
return 0;
}
else
{
return 1;
}
}

Med hjälp av lite jQuery ser resultatet ut på följande sätt: