Bir önceki konuda, JavaScript ile kendimiz basit bir veritabanı ve motorunu yazmıştık.
Bu konuda kendi yazdığımız veritabanını kullanarak bir yapılacaklar listesi yazacağız.
JavaScript - JSON ile yazmış olduğumuz veritabanı : https://www.turkhackteam.org/konular/javascript-json-ile-veritabani-yazmak.2037798/
Fakat konuya başlamadan önce belirtmeliyim, veritabanımızda birkaç küçük değişiklik yaptık.
Bu konuda kendi yazdığımız veritabanını kullanarak bir yapılacaklar listesi yazacağız.
JavaScript - JSON ile yazmış olduğumuz veritabanı : https://www.turkhackteam.org/konular/javascript-json-ile-veritabani-yazmak.2037798/
Fakat konuya başlamadan önce belirtmeliyim, veritabanımızda birkaç küçük değişiklik yaptık.
JavaScript:
getRows(){
if(this.database.rows.length == 0){
return 0;
}
return this.database.rows;
}
Burada eğer hiç satır yoksa 0 döndürecek. Uygulamada kontrol edeceğiz eğer herhangi bir yapılacak yoksa şunu şunu yazdır diye.
JavaScript:
addRow(row){
var databases = this.req();
if(!row.hasOwnProperty("id") && this.database.auto_increment){
if(this.database.rows.length == 0){
row.id = 1;
}else{
row.id = this.database.rows[this.database.rows.length-1].id + 1;
}
}
this.database.rows.push(row);
databases[this.db_name].rows = this.database.rows;
this.write(databases);
}
Burada addRow() fonksiyonumuzda bir değişikliğe gittik, eğer "auto_increment" özelliği aktifse eklenen satırın ID'sini bir önceki elemanın ID'sinden 1 fazla yapıyorduk, fakat şunu ele almadık eğer hiç satır yoksa ve biz ilk satırı ekliyorsak demek ki bir önceki eleman da yok ID'sini neye göre alacak? Burada bunu kontrol ediyoruz eğer veritabanında kayıtlı satır yoksa ID'yi 1'den başlatıyoruz.
app.js'den başlayalım :
JavaScript:
var db = new DatabaseEngine("yapilacaklar");
var form = document.getElementById("form");
var table = document.getElementById("table");
function list(){
table.innerHTML = "";
var todos = db.getRows();
if(todos == 0){
table.innerHTML = "<h2>Herhangi bir yapılacak yok.</h2>";
return 0;
}
for(let i = 0; i < todos.length; i++){
table.innerHTML += `
<tr>
<td>${todos[i].todo}</td>
<td><div style='color: darkred; cursor: pointer;' onclick="deleteTodo(${todos[i].id})">Sil</div></td>
</tr>
`
}
}
Burada db adıyla bir değişken oluşturup içerisine kendi yazmış olduğumuz veritabanı bağlantısını veriyoruz. Veritabanımızın adı "yapilacaklar"
Sonra yeni yapılacak eklemek için tasarladığım form'u bir değişkene kaydediyoruz, aynı şekilde yapılacakların gözükeceği tabloyu da.
list() fonksiyonunda ilk önce tabloyu temizliyoruz. Sonra veritabanımızdan yapılacaklar listesini alıyoruz. Eğer gelen değer 0 ise "Herhangi bir yapılacak yok" yazdırıyoruz ve return yardımıyla fonksiyondan çıkıyoruz, fakat eğer bize dönen değer 0 değilse devam ediyoruz ve bize dönen yapılacaklar listesinin içerisinde gezip teker teker tüm yapılacakları yazdırıyoruz.
onclick="deleteTodo()" kısmında ise tıklandığı zaman bir fonksiyonun çalışmasını söylüyoruz ve bu fonksiyonda şu anda yazdırdığımız yapılacaklar listesindeki elemanın ID'sini veriyoruz.
JavaScript:
function deleteTodo(id){
db.deleteRow(id);
list();
}
form.onsubmit = e => {
e.preventDefault();
var todo = document.getElementById("todo").value;
document.getElementById("todo").value = "";
db.addRow({"todo" : todo});
list();
}
deleteTodo() fonksiyonunda bize gelen IDli satırı veritabanından kaldırıyoruz, ve listeyi güncelliyoruz.
form.onsubmit eventinde ise kullanıcı yeni yapılacak ekleyeceği zaman o yapılacak değerini alıp veritabanına yeni bir satır olarak ekliyoruz.
Kaynak : İndir Veritabanı İle Yapılacaklar Listesi rar
VirusTotal
Bu kadar basit, kendi yazmış olduğumuz veritabanını kullanarak bir yapılacaklar listesi oluşturduk. Bununla alakalı bir konu daha paylaşacağım o içerik olarak daha zengin ve daha ilgi çekici olacak.
VirusTotal
Bu kadar basit, kendi yazmış olduğumuz veritabanını kullanarak bir yapılacaklar listesi oluşturduk. Bununla alakalı bir konu daha paylaşacağım o içerik olarak daha zengin ve daha ilgi çekici olacak.