برگزیده های پرشین تولز

پيدا كردن id ركورد قبل و بعدي

setareh2

Registered User
تاریخ عضویت
24 ژانویه 2005
نوشته‌ها
649
لایک‌ها
2
سن
45
محل سکونت
OC
تو يه برنامه كه از php و mysql استفاده ميكنه يه جا ما يه ركورد رو با داشتن id اون صدا مي زنيم:
کد:
$result=mysql_query("SELECT * FROM `table` WHERE `id`='$id", $connect);
$records=mysql_fetch_row($result);
حالا اگه ما id ركورد قبل و بعدي رو بخوايم بايد چه كنيم؟؟؟
(توضيح اينكه id ها پشت سر هم نيستند يعني ممكنه حذف شده باشند و اينجوري باشند: 1و2و5و12و13و14و...)
 

setareh2

Registered User
تاریخ عضویت
24 ژانویه 2005
نوشته‌ها
649
لایک‌ها
2
سن
45
محل سکونت
OC
به نقل از setareh2 :
تو يه برنامه كه از php و mysql استفاده ميكنه يه جا ما يه ركورد رو با داشتن id اون صدا مي زنيم:
کد:
$result=mysql_query("SELECT * FROM `table` WHERE `id`='$id", $connect);
$records=mysql_fetch_row($result);
حالا اگه ما id ركورد قبل و بعدي رو بخوايم بايد چه كنيم؟؟؟
(توضيح اينكه id ها پشت سر هم نيستند يعني ممكنه حذف شده باشند و اينجوري باشند: 1و2و5و12و13و14و...)
پيدا كردم!!
SELECT id FROM table_name WHERE id < $id ORDER BY id DESC LIMIT 1;

and

SELECT id FROM table_name WHERE id > $id ORDER BY id LIMIT 1;
 

Asef

Registered User
تاریخ عضویت
9 اکتبر 2004
نوشته‌ها
1,228
لایک‌ها
21
به نقل از setareh2 :
پيدا كردم!!
SELECT id FROM table_name WHERE id < $id ORDER BY id DESC LIMIT 1;

and

SELECT id FROM table_name WHERE id > $id ORDER BY id LIMIT 1;
:) بازم سعي كن ازينا پيدا كني :D
منم يكم فكر كردم 10 تا راه رو امتحان كردم ولي اين سر راسته ...
 

aarash

فروشنده معتبر
فروشنده معتبر
تاریخ عضویت
9 ژوئن 2005
نوشته‌ها
2,414
لایک‌ها
173
محل سکونت
شیراز
یعنی نمیشه 10 تا ریکورد که قبلا آیدی هاش تعیین شده را انتخاب کرد
مثلا : 2 و4 و 8 و 93 و 40 و 1000 و ...
منتظرم
 

setareh2

Registered User
تاریخ عضویت
24 ژانویه 2005
نوشته‌ها
649
لایک‌ها
2
سن
45
محل سکونت
OC
به نقل از aarash :
یعنی نمیشه 10 تا ریکورد که قبلا آیدی هاش تعیین شده را انتخاب کرد
مثلا : 2 و4 و 8 و 93 و 40 و 1000 و ...
منتظرم
منظورتون رو نفهميدم! :blush:
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
به نقل از aarash :
یعنی نمیشه 10 تا ریکورد که قبلا آیدی هاش تعیین شده را انتخاب کرد
مثلا : 2 و4 و 8 و 93 و 40 و 1000 و ...
منتظرم
چرا دیگه !
ستاره این SQL رو به تعداد 1 limit کرده شما به تعداد 10 limit کن
 

aarash

فروشنده معتبر
فروشنده معتبر
تاریخ عضویت
9 ژوئن 2005
نوشته‌ها
2,414
لایک‌ها
173
محل سکونت
شیراز
به نقل از miladmovie :
چرا دیگه !
ستاره این SQL رو به تعداد 1 limit کرده شما به تعداد 10 limit کن
من منظورم اینه که اصلا مرتب یا پشت سر هم نیست
مثال : آیدی های 1 و 2 و 3 و ... و 100 تو دیتابیس هست.
من میخوام آیدیه 5 و 10 و 72 و 85 و 92 و 95 و 98 رو انتخاب کنم
چه کدی میخواهد
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
به نقل از aarash :
من منظورم اینه که اصلا مرتب یا پشت سر هم نیست
مثال : آیدی های 1 و 2 و 3 و ... و 100 تو دیتابیس هست.
من میخوام آیدیه 5 و 10 و 72 و 85 و 92 و 95 و 98 رو انتخاب کنم
چه کدی میخواهد
یعنی به صورت رندوم ؟
 

setareh2

Registered User
تاریخ عضویت
24 ژانویه 2005
نوشته‌ها
649
لایک‌ها
2
سن
45
محل سکونت
OC
به نقل از miladmovie :
یعنی به صورت رندوم ؟
رندم ميخاي از اين استفاده كن:

کد:
SELECT `id` FROM `Table`  ORDER BY RAND() LIMIT 1"
 
بالا