Aslında sorun şu;
adı, soyadı, eskisoyadı gibi alanları ayrı tutmak gerekiyor. Ama çok hızlı kayıt girişi yapılan yerlerde bu tip bilgi girişi işi yavaşlatıyor. Veritabanında ADISOYADI gibi birleşik tutanlar bu sql koduyla farklı raporlar (mesela soyadına göre alfabetik sıralı) alabilir.
kolay gelsin.
Ad Soyad parçalamak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Yanlış anlamamışımdır umarım
Bilenler bilir PHP'de güzel bir explode function'u vardır. Verdiğiniz string ifadeyi, belirlediğiniz karaktere göre parçalayıp geri döndürür.
Ali Veli Kırkdokuz elli
ifadesini
Ali
Veli
Kırkdokuz
elli
olarak ayırabilir.
Kodu burada bulabilirsiniz.
Bilenler bilir PHP'de güzel bir explode function'u vardır. Verdiğiniz string ifadeyi, belirlediğiniz karaktere göre parçalayıp geri döndürür.
Ali Veli Kırkdokuz elli
ifadesini
Ali
Veli
Kırkdokuz
elli
olarak ayırabilir.
Kodu burada bulabilirsiniz.
sanırım bu aşamda da adsoyad içerisindeki boşluk sayısına bakmak gerekecek dört ise çift soyadlı ve çift adlı biri demek olurmkysoft yazdı:neden bu işlemi veri tabanına yaptır mıyorsunuz? Veriler gelirken düzgün olarak gelsin.Artık birden fazla soyisim kullanma hakkı çıktı biliyorsunuz (bayanlar için). Bu durumda ayırmak çok daha zor olacaktır.Kod: Tümünü seç
select concat(copy(AdiSoyadi,pos(' ',AdiSoyadi)+1,len(AdiSoyadi-pos(' ',AdiSoyadi))),copy(AdiSoyadi,1 ,pos(' ',AdiSoyadi)-1)) as SoyadiAdi from tablom
...
-
- Üye
- Mesajlar: 380
- Kayıt: 31 Eki 2005 03:26
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
Her nekadar da ikinci soyismi kullanan çok az da olsa, böyle bir ihtimali düşünmek elbette doğru olacaktır.
Tabi ortada, iki ismi olupta birde buna ilaveten ikinci soyismini alanlarda olacaktır.
Bunun üstesinden gelmek için farklı düşünceler olabilir.
Mesela şöyle ikinci soyismi olanlar için bir akıl yürütelim.
M. Fatma Dağkuşu Çimen: Bu örnekte M. Fatma bir isim, Dağkuşu ikinci soy isim Çimen ise soyisimdir. Benim fikrime göre bunu şu şekilde kaydetmek gerekir. ilk isim (M.) ikinci isim (Fatma Dağkuşu) soyisim (Çimen)
Bu örnek gerçekten bu kaydı giren için panik yaptıracak derecede bir isimdir. Çünkü ilgili kişi Fatma adını kullanıyor. Ama ilk adını göbek adıymış gibi sadece (M.) olarak göstriyor. Şahsen bende böyle gösteriyorum (M. Murat Dicle). Şimdi bu nokada bilgi girişi yapan kişiler (M.) gibi bir ifadeyi es geçmeleri doğru olabilir. Kayıtların sağlığı ve aramalarda kolay bulunmaları açısından. Ama bir yandan da tam kimlik bilgisi elde etmekte önemlidir.
Meryem Fatma Dağkuşu Çimen: Evet bu şekilde girilmesi mecbur tutulabilir. Bu durumda Göbek adı ve ikinci soy ismi ORTA AD olarak kaydetmek ya da algılamak mümküm. Ama raporlarda bana ikinci soyismi olanları dök denildiğinde bir netice çıkmayacaktır.
Bu durumda en bilimsel yaklaşım her hane için ayrı bir field açmaktır. Ama bunu giriş esnasında tek editbox ile yapılabilir.
Ben böyle şeyleri göz önüne alarak genelde, soyisimleri ayırmanın kolay olduğunu ama diğer adlarda karışıklı olcağını düşünerek. Arama için ADSOYAD filed'ı içinde aranan text'e bakarım. Ve öyle SQL'i dökerim. Tabi bu yaptığınız uygulamaya göre değişir. Uygulamada ikinci soyisim önemli bir alan ise mutlaka bunu ayrı girmek iyi olacaktır.
Delphi olarak ya da başka bir şekilde girilen TEXT'i bir şekilde parçalara ayırmak kolay olacak ama bu mantığı her uygulamya koymak doğru olur mu bilmiyorum. Bana göre, sizin tam olarak neye ihtiyacınız ve bu ihtiyacın bir mecburiyet mi olduğuna karar vermenizdir.
Son bir fikir ise, Nufus cüzdanında ikinci soyisimler nasıl belirtiliyor öğrenmek lazım. hiç görmedim. Eğer orada nasıl belirtiliyorsa sizde o şekilde bir mantık kullanabilirsiniz.
Tabi ortada, iki ismi olupta birde buna ilaveten ikinci soyismini alanlarda olacaktır.
Bunun üstesinden gelmek için farklı düşünceler olabilir.
Mesela şöyle ikinci soyismi olanlar için bir akıl yürütelim.
M. Fatma Dağkuşu Çimen: Bu örnekte M. Fatma bir isim, Dağkuşu ikinci soy isim Çimen ise soyisimdir. Benim fikrime göre bunu şu şekilde kaydetmek gerekir. ilk isim (M.) ikinci isim (Fatma Dağkuşu) soyisim (Çimen)
Bu örnek gerçekten bu kaydı giren için panik yaptıracak derecede bir isimdir. Çünkü ilgili kişi Fatma adını kullanıyor. Ama ilk adını göbek adıymış gibi sadece (M.) olarak göstriyor. Şahsen bende böyle gösteriyorum (M. Murat Dicle). Şimdi bu nokada bilgi girişi yapan kişiler (M.) gibi bir ifadeyi es geçmeleri doğru olabilir. Kayıtların sağlığı ve aramalarda kolay bulunmaları açısından. Ama bir yandan da tam kimlik bilgisi elde etmekte önemlidir.
Meryem Fatma Dağkuşu Çimen: Evet bu şekilde girilmesi mecbur tutulabilir. Bu durumda Göbek adı ve ikinci soy ismi ORTA AD olarak kaydetmek ya da algılamak mümküm. Ama raporlarda bana ikinci soyismi olanları dök denildiğinde bir netice çıkmayacaktır.
Bu durumda en bilimsel yaklaşım her hane için ayrı bir field açmaktır. Ama bunu giriş esnasında tek editbox ile yapılabilir.
Ben böyle şeyleri göz önüne alarak genelde, soyisimleri ayırmanın kolay olduğunu ama diğer adlarda karışıklı olcağını düşünerek. Arama için ADSOYAD filed'ı içinde aranan text'e bakarım. Ve öyle SQL'i dökerim. Tabi bu yaptığınız uygulamaya göre değişir. Uygulamada ikinci soyisim önemli bir alan ise mutlaka bunu ayrı girmek iyi olacaktır.
Delphi olarak ya da başka bir şekilde girilen TEXT'i bir şekilde parçalara ayırmak kolay olacak ama bu mantığı her uygulamya koymak doğru olur mu bilmiyorum. Bana göre, sizin tam olarak neye ihtiyacınız ve bu ihtiyacın bir mecburiyet mi olduğuna karar vermenizdir.
Son bir fikir ise, Nufus cüzdanında ikinci soyisimler nasıl belirtiliyor öğrenmek lazım. hiç görmedim. Eğer orada nasıl belirtiliyorsa sizde o şekilde bir mantık kullanabilirsiniz.