Nasıl bir ay içinde herhangi bir gün için arayabilirsiniz?

4 Cevap php

Belirli bir ay içinde yazılı makaleleri bulmak için bir veri tabanı üzerinden arama yapıyorum:

between '1 '.$month.' '.$year and '31 '.$month.' '.$year

(Şubat gibi) birkaç ay sadece 28 gün olsa bile bu yöntem tamam mı? Diğer bir deyişle, dinamik aydaki gün sayısını bulmak, ya da var mı?

4 Cevap

Hayır, sen ay uzunluklarını bilmek gerekmez. Sadece bunu:

WHERE MONTH(yourcolumnname) = $month AND YEAR(yourcolumnname) = $year

Sizin kod tamam görünüyor anlamda bu iş olacak, ancak bir daha zarif bir yaklaşım olacağını

SELECT * FROM tablename WHERE MONTH(columname) = '1'
                              AND YEAR(columnname) = '2009'

Bir DATETIME veya DATE alanı bulunuyor, ayrıca endeksleme ile SELECT * FROM table WHERE date_column LIKE '2010-02-%'; yapabileceğini, bu MONTH() daha hızlı ve {[olabilir Her satırda bir hesaplama çalıştırmak zorunda which'll (4)]} tekniği.

Eğer arasında arama yapabilirsiniz

between '1 '.$month.' '.$year and '1 '.$month_plus1.' '.$year

?

Eğer maç çalıştığınız veri karşı sql deyimi çalıştırarak denedim, o ile başlamak için iyi bir yaklaşım olabilir.