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:

No comments yet
Kommentarkanal för den här artikeln