نمایش نتایج 1 تا 5 از 5

نام تاپیک: ایجاد پست های ثابت در پست های در حال تولید

  1. #1

    ایجاد پست های ثابت در پست های در حال تولید

    سلام و خدا قوت به همکاران عزیز؛

    سوالی برایم پیش اومد که پس از کلنجار رفتن های متمادی به نتیجه ای رسیدم که برای اینکه به روشم مطمئن بشم به اینجا اومدم تا نظر دیگر همکارانم رو در این زمینه بدونم.

    سایتی رو در نظر بگیرید مانند تویئتر و پست سر هم مطلب در سایت قرار میگیره.
    حالا شما می خواهید در پست شماره 10 ام خبر، پستی به صورت ویژه و اختصاصی قرار دهید.

    مثلا کاربری از توئیتر رو چون پستش خیلی مهم هست ستاره دار می کنیم، روی پست شماره 10 ام فیکس میشه و بقیه مطالب میان و میرن . طبق تصویر پیوست

    یا در نظر بگیرید بین هر 10 تا پست می خوام تبلیع بذارم و ...


    چیزی که به ذهن من اومد این بود که موقعیت یا پوزیشن یا order برای هر پست تعریف کنم، مثل سیستم جوملا

    حالا شما دوستان هم نظری دارید که منو راهنمایی کنید ؟

    زبان برنامه نویسی PHP و پایگاه داده my SQL و فریم ورک از پایه بر اساس MVC می باشد.


    DSC_0108.jpg

  2. #2
    کاربر دائمی آواتار -سیّد-
    تاریخ عضویت
    فروردین 1393
    محل زندگی
    تهران
    پست
    233

    نقل قول: ایجاد پست های ثابت در پست های در حال تولید

    سلام
    اول بیاین بدون این چیزی که گفتید، صفحه رو طراحی کنیم. شما می‌خواین تمام پست‌های یه مطلب، به ترتیب زمان، از جدید به قدیم نمایش داده بشن. خوب برای این کار یه query می‌زنید و توش ORDER BY time DESC می‌زنید. بعد توی یه حلقه، همه رو نمایش می‌دید. حالا ممکنه بخواین تعداد رو محدود کنید و صفحه‌بندی هم بذارید.

    حالا بریم سراغ تبلیغ. اگه می‌خواین به صورت ثابت، در تمام صفحات، بعد از دهمین پست یه تبلیغ نشون بدید مثلاً، خوب خیلی ساده توی اون حلقه بررسی می‌کنید به شماره‌ی ۱۰ رسیدید یا نه. اگر رسیدید، بعد از نمایش پست، تبلیغ مورد نظر رو نمایش می‌دید.
    یا مثلاً اگه می‌خواین بعد از هر ۱۰ پست یه تبلیغ نشون بدید، چک می‌کنید که آیا شمارنده‌ی حلقه بر ۱۰ بخش‌پذیر هست یا نه.

    اما اگه اون یکی حالت باشه که یه پست خاص رو توی یه صفحه‌ی خاص می‌خواین توی یه جای خاص نشون بدید، کنار اون query ای که می‌زنید، می‌تونید یه query دیگه هم بزنید و تمام پست‌های ویژه‌ی این تاپیک رو استخراج کنید. اون وقت کافیه که اون پست‌های ویژه مکانشون مشخص باشه. بعد توی حلقه‌ی مورد نظر، وقتی به مکان مورد نظر رسیدید، اول پست ویژه رو نمایش می‌دید، بعد به سراغ ادامه‌ی حلقه می‌رید.

    پس ۲ تا جدول داریم: یکی جدول پست‌های عادی، یکی هم جدول پست‌های ویژه. البته می‌شه هم توی یه جدول کنار هم گذاشتشون، ولی برای سادگی طراحی، جداشون می‌کنیم.
    توی پست‌های عادی، اطلاعات پست (عنوان، مطلب، فرستنده، تاپیک) رو داریم و زمان رو.
    توی پست‌های ویژه، علاوه بر اطلاعات پست، مکانش رو هم داریم.
    برای این مثالی که زدید مثلاً اینطوری می‌شه:

    جدول پست‌های معمولی:

    ID title post sender Topic_id time
    1 Test1 Abcd A 100
    2 Test2 Efgh B 100
    3 Test3 Ijkl C 100
    4 Test4 Mnop D 100


    جدول پست‌های ویژه:

    ID title post sender Topic_id time fixed_row
    1 special aaaa X 100 2
    آخرین ویرایش به وسیله -سیّد- : دوشنبه 07 اردیبهشت 1394 در 08:40 صبح دلیل: فرمت کردن جدولها

  3. #3

    نقل قول: ایجاد پست های ثابت در پست های در حال تولید

    همون یه جدول کافیه ، فقط کافیه به جدول post یه فیلد type بهش اضافه بشه

  4. #4
    کاربر دائمی آواتار -سیّد-
    تاریخ عضویت
    فروردین 1393
    محل زندگی
    تهران
    پست
    233

    نقل قول: ایجاد پست های ثابت در پست های در حال تولید

    نقل قول نوشته شده توسط arash691 مشاهده تاپیک
    همون یه جدول کافیه ، فقط کافیه به جدول post یه فیلد type بهش اضافه بشه
    البته فقط با یه فیلد type نمی‌شه حلش کرد، حداقل باید fixed_row رو هم اضافه کنید تا مکانش مشخص باشه.
    ولی همونطور که گفتم شاید بشه با یه جدول درستش کرد، ولی یه مقدار پیچیدگی ایجاد می‌کنه. البته راستش نمی‌دونم اصلاً شدنی هست یا نه!
    مثلاً فرض کنید می‌خواین ۱۰ تا پست رو بیشتر نشون ندید. برای این کار میاین توی query می‌گین LIMIT 10 . حالا در نظر داشته باشید که این پست‌های خاص، ممکنه توی یه بازه‌ی زمانی توی این ۱۰ تا قرار بگیرن، و توی یه بازه‌ی زمانی دیگه خارج این ۱۰ تا. بنابراین نتیجه‌ی query در زمان‌های مختلف فرق می‌کنه و این شما رو بیچاره می‌کنه!

  5. #5

    نقل قول: ایجاد پست های ثابت در پست های در حال تولید

    میشه فقط فیلد fixed_row گذاشت و nullable باشه. اینطوری پستهای عادی این فیلدشون null هست و پستهای ویژه این فیلد رو مقداردهی میکنن. حالا میتونید این فیلد رو unique هم کنید که هیچ دو پست ویژه ای توی این فیلد مشترک نباشن و نخوان توی یک ردیف نشون داده بشن. بهرحال هرچقدر بیشتر سناریوی پروژه شما مشخص بشه، بهتر میشه توی طراحی کمک کرد.

تاپیک های مشابه

  1. ایجاد report با سطر های ثابت
    نوشته شده توسط ahmad9069 در بخش Access
    پاسخ: 3
    آخرین پست: دوشنبه 26 اسفند 1392, 10:14 صبح
  2. سوال: چرا فیلد های این صفحه پست نمیشه؟؟؟؟؟
    نوشته شده توسط رامین مرادی در بخش JavaScript و Framework های مبتنی بر آن
    پاسخ: 2
    آخرین پست: پنج شنبه 22 اسفند 1392, 17:11 عصر
  3. پاسخ: 11
    آخرین پست: جمعه 13 آبان 1390, 15:21 عصر
  4. چگونه کد و داده های خود را پست کنیم تا بهترین جواب را بگیریم
    نوشته شده توسط محمد سلیم آبادی در بخش T-SQL
    پاسخ: 0
    آخرین پست: جمعه 06 شهریور 1388, 21:28 عصر
  5. هش کردن کدها و رشته های ثابت در VB
    نوشته شده توسط demon_da در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: دوشنبه 03 اسفند 1383, 22:59 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •