PDA

View Full Version : query بر اساس تاریخ



sajadpm
پنج شنبه 17 مرداد 1392, 02:19 صبح
با سلام و خسته نباشید

دوستان یک سوالی داشتم .جدولی برای مقالات سایت ام در دیتابیس دارم که من مقالات رو به وسیله کد زیر بر اساس بازدید هر مقاله query می زنم و نمایش می دهم :


mysql_query("SELECT * FROM `post` ORDER BY view");

و حالا سوال من این است که می خواهم این query بر اساس 2 ماه پیش باشد یعنی بر اساس مقالات که تا 2 ماه پیش ارسال شده است بر اساس بازدید نمایش داده بشود ؟ چگونه این کار انجام پذیر است ؟ منتظر راهنمایی دوستان هستم

p30online
پنج شنبه 17 مرداد 1392, 02:53 صبح
از این دستور برای ارسال زمان حال به دیتابیس است زمانی که داده ها را ثبت می کنی (insert)




insert into `homepage` (date) values(now());


داخل بانک هم از نوع datetime است .

s_salavati2002
پنج شنبه 17 مرداد 1392, 04:26 صبح
هر پست یک فیلد تاریخ نگارش باید داشته باشه
که از جنس تاریخ یا timestamp هست، اینطوری می تونی با شرط گذاشتن محدود کنی
از کلمه کلیدیه interval میتونی استفاده کنی که از now دو ماه کم کنه

sajadpm
پنج شنبه 17 مرداد 1392, 12:52 عصر
تشکر از پاسخ دوستان

از این دستور برای ارسال زمان حال به دیتابیس است زمانی که داده ها را ثبت می کنی (insert)
تاریخ ثبت شده است در هر سطر ( مقاله ) . مثال الان وردپرس میاد پر بازدیدترین مطالب هفته یا روز رو نمایش می دهد که یعنی query رو محدود کرده است به یک بازده زمانی خاص دقیقا منم چیزی مثل این می خواهم

که از جنس تاریخ یا timestamp هست، اینطوری می تونی با شرط گذاشتن محدود کنی
از کلمه کلیدیه interval میتونی استفاده کنی که از now دو ماه کم کنه
بله نوع تاریخ timesstamp است ولی این که query رو چجوری باید محدود کرد با دستور شرطی که توضیح دادین متوجه نشدم .

sajadpm
پنج شنبه 24 مرداد 1392, 12:48 عصر
دوستان کسی نظری نداره ؟

Unique
پنج شنبه 24 مرداد 1392, 19:26 عصر
اگه timestamp باشه و اسمش هم a_date اینطوری :


sprintf("select * from articles where a_date > '%d' ordre by a_date desc",strtotime(date("Y-m-d H:i:s")) - (60 * 60 * 24 * 60));

sajadpm
پنج شنبه 24 مرداد 1392, 20:57 عصر
از پاسخ شما بسیار سپاس گزارم به وسیله INTERVAL مشکلم حل شد .
SELECT * FROM table WHERE `timestamp` > NOW()- INTERVAL 3 MONTH