انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: دسترسي غيرترتيبي به record's يك جدول پايگاه داده با توابع mysqli در php  (دفعات بازدید: 1500 بار)

0 کاربر و 3 مهمان درحال مشاهده موضوع.

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
سلام
فرض كنيد جدولي در پايگاه داده داريم كه برخي سطرهاي آن حذف شده است
مي خواهيم مقادير record's مثلا بيستم تا چهلم اين جدول پايگاه داده را با استفاده از توابع mysqli بدست اوريم گفتني است با code مشابه اين مي توانيم به همه دسترسي داشته باشيم اما من ازبين يك جدول بزرگ فقط چند تا را لازم دارم
while ($Record = mysqli_fetch_array($Result,MYSQL_ASSOC)) {

$Name = $Record['Name'];
$ID = $Record['ID'];
}
پيشاپيش از لطف شما سپاسگزارم
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین vandu

  • Hero Member
  • *
  • ارسال: 741
  • جنسیت : پسر
منظورتون از رکوردهای مثلا بیستم تا چهلم یه مقدار گنگه، ولی آیا این کمکی نمی‌کنه؟ :
SELECT * FROM table LIMIT 20, 40
SELECT * FROM table LIMIT 20, 20
« آخرین ویرایش: 06 خرداد 1393، 05:40 ب‌ظ توسط vandu »
Nothing is particularly hard if you divide it into small jobs

Henry Ford

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
منظورتون از رکوردهای مثلا بیستم تا چهلم یه مقدار گنگه، ولی آیا این کمکی نمی‌کنه؟ :
SELECT * FROM table LIMIT 20, 40
مثلا كلا 10 ركورد در جدول ذخيره شده اما ركوردهاي 5و6و3 حذف شده حال ركوردهاي اول تا پنجم ركوردهايي هستند كه (ID(AUTO INCREMENT انها به ترتيب عبارتند از 1و2و4و7و8
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین vandu

  • Hero Member
  • *
  • ارسال: 741
  • جنسیت : پسر
و چون autoincrement هست، برای مثال دوم شما میشه این:
SELECT * FROM table LIMIT 5یعنی پنج‌تایی که قدیمی‌تر از بقیه هستن.
Nothing is particularly hard if you divide it into small jobs

Henry Ford

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
و چون autoincrement هست، برای مثال دوم شما میشه این:
SELECT * FROM table LIMIT 5یعنی پنج‌تایی که قدیمی‌تر از بقیه هستن.

حالا اگر 4و7و8 را خواسته باشيم چطور
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
براي 2و4و7و8 ميشه اين؟
SELECT * FROM table LIMIT 2,5
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین vandu

  • Hero Member
  • *
  • ارسال: 741
  • جنسیت : پسر
و چون autoincrement هست، برای مثال دوم شما میشه این:
SELECT * FROM table LIMIT 5یعنی پنج‌تایی که قدیمی‌تر از بقیه هستن.

حالا اگر 4و7و8 را خواسته باشيم چطور
SELECT * FROM table LIMIT 2, 3
براي 2و4و7و8 ميشه اين؟
SELECT * FROM table LIMIT 2,5
قاعدتا باید بشه این:
SELECT * FROM table LIMIT 1, 4
پارامتر اول برای LIMIT (که اختیاری هست و اگه نذارید صفر منظور میشه) بمعنای شماره رکورد ابتدایی هست (مشخصا از صفر شروع میشه) و پارامتر دوم هم تعداد رکوردهای مورد نظره.
فیلد ID هم که همیشه مرتب شده هست (AutoIncrement)

+ حواسم نبود. ببخشید برای اولی اشتباها پارامتر دوم رو ۴۰ داده بودم که مقدار ۲۰ صحیحه. یعنی:
SELECT * FROM table LIMIT 20, 20
« آخرین ویرایش: 06 خرداد 1393، 05:41 ب‌ظ توسط vandu »
Nothing is particularly hard if you divide it into small jobs

Henry Ford

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
سلام بي اندازه سپاسگزارم
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني