Web Geliştirici  :: PHP, JavaScript, Ajax, XHTML, XML, CSS, MySQL ve diğer web yazılım geliştirme teknolojileri hakkında faydalı bilgi ve teknikler
 

Limitli Bir Sorgunun Limitsiz Halinin Sonuç Sayısını Bulmak

SQL’de bir sorgunun döndüreceği sonuç sayısı limit eki ile sınırlandırılır. Özellikle sayfalama yaparken bunu çok sık kullanırız. Örneğin

SELECT * FROM tablo WHERE id > 100 LIMIT 10

sorgusu bize şarta uyan ilk 10 kaydı getirecektir. Peki ama limit koymasaydık toplam kaç kayıt gelecekti? Toplam kayıt sayısını bulmak için aklımıza gelen ilk yol aynı sorguyu limitsiz olarak ikinci sefer işletmektir. Bunun yerine MySQL’in SQL_CALC_FOUND_ROWS ifadesi böyle bir durumda bizi ikinci bir sorgu işletmekten kurtarıyor.

SELECT SQL_CALC_FOUND_ROWS * FROM tablo WHERE id > 100 LIMIT 10

Yukarıdaki sorgunun limitsiz halinin sonuç sayısını bulmak için aşağıdaki yöntemi kullanıyoruz.

$toplam_kayit_sayisi_s = mysql_query(" SELECT FOUND_ROWS() AS adet ");
$toplam_kayit_sayisi_fa = mysql_fetch_array($toplam_kayit_sayisi_s, MYSQL_ASSOC);
$toplam_kayit_sayisi = $toplam_kayit_sayisi_fa['adet'];

Böylece yeni bir sorgu işletmeden toplam kayıt sayısını elde etmiş oluruz. Yukarıdaki işlemler, kendisinden önce SQL_CALC_FOUND_ROWS ifadesi geçen en sonuncu sorgu için uygulanacaktır.

Temel XHTML kuralları

  1. Tüm element ve nitelikler küçük harfle yazılmalıdır.
  2. Elementlerin içiçe geçme sırasına dikkat edilmelidir. Açılan imler sırasıyla kapatılmalıdır. Örneğin <b><i>merhaba</b></i> şeklinde kullanım yanlıştır, doğrusu <b><i>merhaba</i></b> şeklindedir.
  3. Bitiş imi olan elementlerde bitiş imi mutlaka kullanılmalıdır. Örneğin <p> imi daima </p> imi ile bitmelidir.
  4. İçeriği olmayan elementlerin sonuna “/” konmalıdır. <br/>, <hr/> gibi
  5. Nitelikler mutlaka değer verilerek kullanılmalıdr. Örneğin <input type="checkbox" checked /> şeklinde kullanım yanlıştır, doğrusu <input type="checkbox" checked="checked" /> şeklindedir.
  6. Dökümanın HEAD kısmı içindeki ilk element <title> elementi olmalıdır.
  7. <a> elementinde title niteliğinin, <img/> elementinde ise alt niteliğinin kullanımına özen gösterilmelidir.
  8. Dökümanın DTD (Document Type Definition) tanımına uygun sözdizimi kullanılmalıdır.

Luhn Algoritması ile Kredi Kartı Numarası Doğrulama

Kredi kartı numarası doğrulamada kullanılan Luhn algoritmasının çalışma prensibi şöyledir:

Örneğin hayali 7419 8339 5689 1008 numarasını ele alalım.

1. adım:
Tek hanelerdeki rakamlar toplanır.
4, 9, 3, 9, 6, 9, 0, 8 rakamları için;
4 + 9 + 3 + 9 + 6 + 9 + 0 + 8 = 48

2. adım:
Çift hanelerdeki rakamlar 2 ile çarpılır ve elde edilen sayıların basamakları toplanır.
7, 1, 8, 3, 5, 8, 1, 0 rakamlarını 2 ile çarparsak sırasıyla 14, 2, 16, 6, 10, 16, 2, 0 sayılarını elde ederiz.
Elde ettiğimiz sayıların basamaklarındaki rakamları toplarsak;
5 + 2 + 7 + 6 + 1 + 7 + 2 + 0 = 30

3. adım:
Hesaplanan iki toplam sonucu birbirleriyle toplanır. Elde edilen sayı 10′un katı ise bu kredi kartı numarası geçerli bir numaradır.
48 + 30 = 78 (10′un katı olmadığı için numara geçersizdir!)