Du är på rätt väg med avseende på hur MySQL fungerar, med olika lägen för veckorelaterade funktioner som kan ge olika resultat. http://dev.mysql .com/doc/refman/5.5/en/date-and-time-functions.html#function_week
Det är min uppfattning att MySQL-läget som motsvarar PHPs datumlogik är läge 3, vilket är ISO-veckodatumstandarden http://en.wikipedia.org/wiki/ISO_week_date
Detta har veckor som börjar på måndagar och veckor numrerade 1-53.
Så du skulle behöva använda WEEK(date_field, 3)
för att få PHP-kompatibla värden.
Som ett alternativt tillvägagångssätt har jag funnit en sak praktisk i fall där du behöver möjligheten att flexibelt fråga efter olika datumintervall eller sammanställningar (Q1-Q4, H1 - H2, etc.), eller där du kan behöva använda andra veckor än PHP stödjer är att använda en datumhjälpartabell i MySQL (liknande vad man kan använda som en datumdimensionstabell i ett datalager, om du är bekant med det). Det kan ge dig ett bekvämt bord att gå med i för att slå upp datumintervall. Något sådant här borde fungera:
http://databobjr.blogspot.com /2012/06/create-date-dimension-table-in-mysql.html