البرمجة

احتفالات عيد الميلاد لهذا الأسبوع

للقيام بعملية استعلام في قاعدة البيانات لاختيار معلومات المستخدمين الذين سيحتفلون بعيد ميلادهم في الأسبوع الحالي (من الاثنين إلى الأحد)، يمكنك استخدام الاستعلام التالي:

php
$req = mysql_query("SELECT id, surname, firstname FROM elementary WHERE WEEK(birthday) = WEEK(CURDATE()) AND YEAR(birthday) = YEAR(CURDATE())"); while($dnn = mysql_fetch_array($req)){ ?> echo $dnn["id"] ?> echo $dnn["surname"] ?> echo $dnn["firstname"] ?> } ?>

هذا الاستعلام يختار جميع المستخدمين الذين سيحتفلون بعيد ميلادهم في الأسبوع الحالي. تم استخدام الدالة WEEK() لاختيار المستخدمين الذين يتوافق عيد ميلادهم مع الأسبوع الحالي، وتم استخدام الدالة YEAR() لضمان أن الاستعلام يعمل فقط على السنة الحالية.

المزيد من المعلومات

لتحسين الأداء والدقة في استعلام قاعدة البيانات، يمكنك استخدام دالة WEEK() بشكل أكثر دقة. يمكنك أيضًا إضافة فلتر لاستبعاد المستخدمين الذين قد تمت معاينة عيد ميلادهم بالفعل في الأسبوع الحالي. قد يكون الاستعلام كالتالي:

php
$week_start = date('Y-m-d', strtotime('monday this week')); $week_end = date('Y-m-d', strtotime('sunday this week')); $req = mysql_query("SELECT id, surname, firstname FROM elementary WHERE birthday BETWEEN '{$week_start}' AND '{$week_end}' AND WEEK(birthday) = WEEK(CURDATE()) AND YEAR(birthday) = YEAR(CURDATE())"); while($dnn = mysql_fetch_array($req)){ ?> echo $dnn["id"] ?> echo $dnn["surname"] ?> echo $dnn["firstname"] ?> } ?>

هذا الاستعلام يستخدم تواريخ البداية والنهاية للأسبوع الحالي لتحديد فترة بداية الأسبوع (من الاثنين) ونهاية الأسبوع (إلى الأحد). ثم يستخدم BETWEEN لاختيار المستخدمين الذين يحتفلون بعيد ميلادهم في هذه الفترة.

زر الذهاب إلى الأعلى