16 Şubat 2012 Perşembe

mysql ucfirst

Bazen mysql de sorunlar yaşarız. Nitekim elimdeki il ilçe db sinde türkçe
karakter içeren bazı tabloların (ç,ü,ş ile başlayanlar) tamamının küçük harf olduğunu gördüm. Süratli bir şekilde düzeltmek gerekiyordu, tek tek uğraşacak zaman yoktu.
Mesela çankırı ilçesinin veritabanında Çankırı olması gerekiyordu. Sadece ilk karakteri büyütecektik.
Bunun için php de ucfirst gibi fonksiyonlar var ama mysql de yok, e oturup php kodu da yazmayalım, işlimizi mysql de halledelim.
mysql de bunun için concat ve upper-lower fonksiyonlarını kullanabiliriz.

update
semt set ad=concat(upper(substring(ad,1,1)),lower(substring(ad,2)));

yukarıdaki sorgu ne yapıyor?
concat('x','t'); x ve t yi birleşitiriyor.
upper(); kendisine gelen stringin tamamını büyük harfe çevirir,
lower(); kendisine gelen stringin tamamını küçük harfe çevirir,
substring(ad, 1, 1); ad isimli tablodan 1. karekterden başlayarak tek karakter alır,
substring(ad, 2); ad isimli tablodan 2. karakter ve sonrasını alır,
ad isimli alanımızın ilk karakterini ve gerisini ayrıştırarak başını büyük harfe, kalanını da küçük harfe dönüştürdük, sonra da bunu concat ile birleştirirerek tekrar ad alanına yazdık :)

9 Şubat 2012 Perşembe

jquery & closeset()

jquery ve ajax kullanılan web app lerde bazen tablo içerisindeki bazı satırları seçmek isteriz.
Aşağıdaki kod örneği adı verilen tabloda, 3. td sinde a.png bulunduran satırları seçmeye yarıyor. Seçip ne yapıcaz peki? Örnek olması amacıyla silelim.

$('table#tabloadi tbody:eq(0) tr td:nth-child(3)').find('img[src="a.png"]').closest('tr').remove();

yukarıdaki kod örneğinde kullanılan elemanların ne işe yaradığını da açıklayalım;
table#tabloadi = id'si "tabloadi" olan tablo yu referans gösteriyoruz,
tbody:eq(0) = ilgili tablodaki ilk tbody elemanı,
tr = tablodaki satırlar,
td:nth-child(3) = tr ler içerisindeki soldan 3. tablo hücrelerini,
.find('img[src="a.png"]') = hedefteki td lerden sadece içerisinde src özniteliğinde a.png yi barındıran img html etiketlerini buluyor.
.closest('tr') = ilgili hücresinde a.png barındıran tr elemanlarını, yani tablo satırlarını seçitiryoruz,
.remove() komutu ile de ilgili tablo satırları silinmiş oluyor.

Böylelikle aynı zamanda bir çok jquery fonksiyonunun aynı anda nasıl kullanılabildiğini de göstermiş olalım.