آلية عمل ( جديد | new )

محمد الحربي • منذ 5 سنوات

السلام عليكم ..

لدي موقع واريد ان اضع كلمة " جديد " على المنتجات الجديدة  لكي يعلم المستخدم ان هذا المنتج جديد واريد ان تذهب هذه الكلمة بعد 10 ايام

* ملاحظة : تم التصميم بالكامل لكن اريد ان يذهب هذا الكود بعد 10 ايام

كيف اقوم بذلك ؟ وماهي اللغة المناسبة لفعل ذلك ؟

كلمات دليلية: css html javascript php

الإجابة الصحيحة

Abdullah Alhariri • منذ 5 سنوات

السلام عليكم 

لنفرض أنه يوجد لديك مصفوفة تحتوي على المنتجات بإسم products وأن تاريخ إضافة المنتج معرف بإسم created_at سيكون الكود كما يلي : 

<?php 

$today = new DateTime();//تاريخ اليوم 
$today = date_format($today, 'Y-m-d');//غير صيغة تاريخ اليوم

foreach ($products as $product) {//حلقة على المنتجات 
	$createdAt = date('Y-m-d', strtotime($product->created_at . " + 10 day"));//إضافة 10 أيام على تاريخ إضافة المنتج
    if($createdAt > $today){//هل تاريخ إضافة المنتج الجديد أكبر من تاريخ اليوم
    	echo "New Product"
    }
}

يرجى ملاحظة الآتي : 

- وحدنا الصيغة (format) الخاصة بتاريخ اليوم وتاريخ إضافة المنتج:

- إستخدمنا الدالة strtotime لإضافة 10 أيام لتاريخ إضافة المنتج :

strtotime($product->created_at . " + 10 day")

- شرط التحقق إذا كان تاريخ إضافة المنتج + 10 أيام أكبر من تاريخ اليوم فهذا يعني أن المنتج جديد :

تاريخ اليوم = 15-08-2018 

تاريخ إضافة المنتج = 09-08-2018

تاريخ إضافة المنتج + 10 أيام = 19-08-2018

if("19-08-2018" > "15-08-2018"){
    	echo "New Product"
}

بالتوفيق إن شاء الله

الإجابات (2)

Alhoqbani • منذ 5 سنوات

وش اللغات اللي تستخدمها في الموقع؟

هل تستخدم php ؟

وكيف تعرف ان المنتج جديد؟ هل فيه تاريخ اضافة للمنتج؟

ممكن تحط الكود اللي يعرض المنتجات في الصفحة؟

 

ما اقدر اساعدك من دون كود. لكن ابحث عن طريقة المقارنة بين التواريخ في php

وسو لك دالة تقارن بين تاريخ اضافة المنتج وتاريخ اليوم. في حال كانت النتجية اقل من عشرة ايام الدالة ترجع لك true والعكس ترجع لك false

وبعد كذا استخدم الدالة في صفحة ال html اللي تعرض المنتجات، بحيث تعرض كلمة new جنب المنتج اذا رجعت الدالة true  وضبط الكلمة ب css

 

محمد الحربي: اللغات المستخدمة : php - javascript , نعم يوجد تاريخ إضافة المنتج

Alhoqbani: راجع التعديل

Abdullah Alhariri • منذ 5 سنوات
الإجابة الصحيحة
مميز

السلام عليكم 

لنفرض أنه يوجد لديك مصفوفة تحتوي على المنتجات بإسم products وأن تاريخ إضافة المنتج معرف بإسم created_at سيكون الكود كما يلي : 

<?php 

$today = new DateTime();//تاريخ اليوم 
$today = date_format($today, 'Y-m-d');//غير صيغة تاريخ اليوم

foreach ($products as $product) {//حلقة على المنتجات 
	$createdAt = date('Y-m-d', strtotime($product->created_at . " + 10 day"));//إضافة 10 أيام على تاريخ إضافة المنتج
    if($createdAt > $today){//هل تاريخ إضافة المنتج الجديد أكبر من تاريخ اليوم
    	echo "New Product"
    }
}

يرجى ملاحظة الآتي : 

- وحدنا الصيغة (format) الخاصة بتاريخ اليوم وتاريخ إضافة المنتج:

- إستخدمنا الدالة strtotime لإضافة 10 أيام لتاريخ إضافة المنتج :

strtotime($product->created_at . " + 10 day")

- شرط التحقق إذا كان تاريخ إضافة المنتج + 10 أيام أكبر من تاريخ اليوم فهذا يعني أن المنتج جديد :

تاريخ اليوم = 15-08-2018 

تاريخ إضافة المنتج = 09-08-2018

تاريخ إضافة المنتج + 10 أيام = 19-08-2018

if("19-08-2018" > "15-08-2018"){
    	echo "New Product"
}

بالتوفيق إن شاء الله

محمد الحربي: اشكرك ي الغالي ضبط معي :)

Abdullah Alhariri: هذا من دواعي سروري ، بالتوفيق إن شاء الله

سليمان: أحسنت

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !