/
  • مشکلی یا باگی در مورد LIMIT

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی مشکلی یا باگی در مورد LIMIT
    نویسنده پیام
    hosseintdk775 آفلاین
    حسین بقایی
    ****

    ارسال‌ها: 379
    تاریخ عضویت: ۱۳۸۷ دي ۱۵
    اعتبار: 11
    تشکرها : 423
    ( 412 تشکر در 246 ارسال )
    ارسال: #1
    مشکلی یا باگی در مورد LIMIT
    بسم الله الرحمن الرحیم
    سلام
    خوب نمی دونم این یه باگه یا چیه که دیگه اعصاب ... Angry
    قبلا برای صفحه بندی اسکریپتی نوشته بود که الان دارم تبدیلش می کنم به یه کلاس {مدرسه Smile}
    مشکلم اینه :
    فرض کنید 2 رکورد تو دیتابیس داریم و از طریق LIMIT برشون می دارم
    مثلا اینطوری: LIMIT 0,2 یا ...
    ولی وقتی می زنم این: LIMIT 3,1 خوب در این صورت درسته که نتیجه ای انتخاب نمی شه چون فقط 2 تا رکورد داریم ولی نه خطا می ده و نه می تونم از طریق توابع php مثل empty یا isset نمی تونم خالی بودن اون نتیجه رو ثابت کنم / یعنی درسته که چیزی برای نمایش نمی یاد ولی حتی نمی شه ثابتش کرد که خالی هستAngry
    هم با mysql_fetch_array چک کردم و هم با mysql_num_rows

    نمی دونم تونستم منظورم رو برسونم یا نه / حالا نمی دونم این یه باگه یا هر چی
    و اینکه راه حلی واسه این مسئله نیست؟

    ----
    راستی:
    راه حل: احتمالا می گید خوب چرا بجای LIMIT 3,1 که می دونی هم نتیجه ای نداره نمی زنی LIMIT 2,1
    پاسخ من: خوب چون از طریق url شماره صفحه رو دریافت می کنم و برحسب اون این LIMIT درسته می شه به همین خاطر این مشکل واسم درست می شه / حال ممکن کاربر خودش این page رو یکی زیاد کنه و صفحه خالی می مونه ( که می خواستم کاری کنم اگه خالی بود یه صفحه به عقب برگرده )
    ولی مشکل اینه که نمی شه این خالی بودن رو ثابت کرد ( یا شایدم منم بلد نیستمSmile )

    --------------
    حل شد - ببخشید / اشتباه از من بود حالا نمی دونم چرا اونطوری می شد /
    تا\یک رو هم که نتونستم حذف کنم بنظر باید حذف شه - ممنون
    __________________________________________________________________________
    یه توسعه دهنده!
    (آخرین ویرایش در این ارسال: ۱۳۸۹ شهريور ۱۹ ۰۴:۵۸ صبح، توسط hosseintdk775.)
    ۱۳۸۹ شهريور ۱۹ ۰۴:۴۶ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    fzerorubigd آفلاین
    عضو
    ***

    ارسال‌ها: 59
    تاریخ عضویت: ۱۳۸۹ شهريور ۱۸
    اعتبار: 0
    تشکرها : 6
    ( 60 تشکر در 36 ارسال )
    ارسال: #2
    RE: مشکلی یا باگی در مورد LIMIT
    میتونی از یه کوئری اضافه استفاده کنی و تعداد رکوردها رو بگیری.
    کد:
    SELECT COUNT (*) FROM `your_table` WHERE your_condition
    بعد بر اساس این اندازه که داری اقدام کنی.
    یه راه دیگه هم هست، اونم اینه که به SELECT عبارت SQL_CALC_FOUND رو اضافه کنی، مثلا :
    کد:
    SELECT SQL_CALC_FOUND_ROWS * FROM `your_table` WHERE condition LIMIT 1 ,10
    بعد از این کوئری ،‌انجام دادن این کوئری :
    کد:
    SELECT FOUND_ROWS()
    نشون میده که کوئری قبلی، بدون در نظر گرفتن LIMIT چند سطر برمیگردونه.
    فقط اینکه بین این دو تا کوئری هیچ کوئری دیگه ای از Connection که دارید استفاده میکنید اجرا نشه.
    __________________________________________________________________________
    یادداشتهای بیت نیمسوز Big Grin
    ۱۳۸۹ شهريور ۱۹ ۱۰:۳۹ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : payam hosseintdk775
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS