PDA

View Full Version : آرشیو بندی مطالب سایت



morteza1207
پنج شنبه 11 تیر 1394, 12:35 عصر
سلام.من میخوام پست هایی که در سایتم درج شده اند رو به صورت سالانه و ماهانه و ... آرشیو بندی کنم.یه جدول پست دارم که تاریج درج پست دارد.مثلا تیر 94 که زد همه ی پستهایی که در اون تاریخ درج شده اند رو نمایش بده. اگه کسی بلده خواهش میکنم کمک کنه ممنون یه آرشیو مانند شکل زیر


http://beporsbedoon.com/attachment.php?attachmentid=299&d=1435818335

haamidd
پنج شنبه 11 تیر 1394, 12:59 عصر
لطفا در این مورد راهنمایی کنید من هم در این مورد مشکل دارم، ممنون

morteza1207
پنج شنبه 11 تیر 1394, 21:15 عصر
از اساتید کسی نیست کمکم کنه؟

mahsab
پنج شنبه 11 تیر 1394, 22:18 عصر
دوتا جدول می تونی در نظر بگیری یکی واسه مطالب سایتت یکی هم واسه آرشیو . تو جدول آرشیو یه فیلد برا آی دی یه فیلد برا ماه و یه فیلد برا سال در نظر میگیری البته اگه می خای آرشیو بندیت ماهانه باشه . بعد موقع درج هر مطلب تو سایتت تاریخ ماه و سال رو با فیلد های ماه و سال هایی ک تو جدول آرشیو درج شده مقایسه می کنی اگه اون سال و ماه براش آرشیوی تو جدول آرشیو ها وجود داشت ک فقط مطلب رو تو جدول مطالبت درج می کنی با آی دی آرشیو مورد نظر به عنوان کلید خارجی .ولی اگه تو جدول آرشیو برای اون ماه آرشیو وجود نداشت یه رکورد جدید برای اون ماه تو جدول آرشیو درج می کنی و بعد آی دی آرشیو و رکورد رو تو جدول مطالب درج می کنی . :لبخند: امیدوارم واضح گفته باشم :لبخند:

xsbehx
شنبه 13 تیر 1394, 16:38 عصر
اصلا آرشیو بندی یعنی چی !؟ یعنی ذخیره و نگهداری اطلاعات دیگه!
خوب شما همین الانش هم اطلاعات رو دارید و ذخیره کردید دیگه
پس چرا باید بیاید و یک جدول دیگه ایجاد کنید!؟
فقط باید یک قسمت تو سایت بزارید و یک کوئری ساده بنویسید تا مطالب رو بر اساس ماه دسته بندی کنه و نشون بده


select fldSendDate as 'تاریخ ارسال',count(fldSendDate)as'تعداد' from tblProduct
group by fldSendDate


البته این یه کوئری ساده است که خودتون می تونید بر همین مبنا بسطش بدید

haamidd
پنج شنبه 18 تیر 1394, 13:34 عصر
اصلا آرشیو بندی یعنی چی !؟ یعنی ذخیره و نگهداری اطلاعات دیگه!
خوب شما همین الانش هم اطلاعات رو دارید و ذخیره کردید دیگه
پس چرا باید بیاید و یک جدول دیگه ایجاد کنید!؟
فقط باید یک قسمت تو سایت بزارید و یک کوئری ساده بنویسید تا مطالب رو بر اساس ماه دسته بندی کنه و نشون بده


select fldSendDate as 'تاریخ ارسال',count(fldSendDate)as'تعداد' from tblProduct
group by fldSendDate


البته این یه کوئری ساده است که خودتون می تونید بر همین مبنا بسطش بدید


خب الان با صحبت شما...
اگر کابر هر روز یک مطلب گذاشته باشد، در قسمت ارشیو مطالب تاریخ هر روز رو میزنه و بصورت ماهانه دسته بندی نمیکنه که!
بعلاوه صحبت شما بگم که بهتر نیست که مثلا یک فیلد اضافه کنیم با نام archivDate و در اون فقط سال و ماه رو ذخیره کنه و بعد از اون select میزنیم

یا اینکه موقع select زدن در همون تاریخ درج مطلب ، selectمون فقط روی سال و ماه باشه

xsbehx
پنج شنبه 18 تیر 1394, 15:03 عصر
شما وقتی دارید تاریخ سیستم رو ذخیره می کنید، با هر فرمتی که باشه، چه از نوع تاریخ باشه چه از نوع رشته، می تونید بعدا فقط روز یا ماه یا سالش رو جدا بگیرید و استفاده کنید.
بفرض این که بخواید تو sql یک فیلد داشته باشید که از نوع رشته باشه باید به این صورت بنویسید تا ماه رو از تاریخ جدا کنید


select substring('1394/02/04',6,2)

کد بالا تبدیل می شه به :

select substring(fldSendDate,6,2) as 'تاریخ ارسال',count(fldSendDate)as'تعداد' from tblProduct
group by substring(fldSendDate,6,2)

fakhravari
دوشنبه 19 مرداد 1394, 16:39 عصر
http://barnamenevis.org/showthread.php?357151-%D8%A2%D8%B1%D8%B4%DB%8C%D9%88-%D9%85%D8%A7%D9%87%D8%A7%D9%86%D9%87-%D9%85%D8%B7%D8%A7%D9%84%D8%A8&p=1574491#post1574491