PDA

View Full Version : انتخاب چندین row از mysqli->num_rows برای fetch



blue.web9
جمعه 18 مهر 1393, 23:57 عصر
سلام...
من تعداد کل سطرهایی هایی که لازم دارم از بانک دریافت میکنم...مثلا mysqli->num_rows = 15 ، میخواستم بپرسم راهی هست بدون اینکه از limit و کوئری دیگه استفاده کنم فقط سطرهای 7 تا 10 fetch کنم؟

hamidhassas
شنبه 19 مهر 1393, 12:08 عصر
mysql_query("SELECT * FROM `admin` WHERE `id` BETWEEN '7' AND '10' ORDER BY `id` DESC");

blue.web9
یک شنبه 20 مهر 1393, 14:15 عصر
دوست عزیز فرض کنید تعداد سطر هایی که این دستور شما میاره 15 باشه....حالا راهی هست سطر های 5 تا 10 یا 11 تا 13 را fetch کنیم ؟ بدون اینکه دوباره کوئری بنویسم...میخوام بدونم امکانش هست یا کلا اینکار در این حالت امکان پذیر نیست

MMSHFE
یک شنبه 20 مهر 1393, 15:15 عصر
وقتی گفتین از id شماره 7 تا 10 چطور میشه 15 رکورد برگردونه؟ id اعشاری که نداریم! ضمناً شما یا باید در زمان ارسال کوئری دقیقاً مشخص کنید کدوم رکوردها رو میخواین که بهینه تره، یا اینکه با روش زیر، داده های دلخواه رو استخراج کنید:

$result = $mysqli->query('SELECT * FROM `users`');
$items = array();
$result->data_seek(10); // move pointer to 11th row
// extract 3 rows (11th, 12th, 13th)
for($i = 0; $i < 3; $i++) {
$items[] = $result->fetch();
}

blue.web9
یک شنبه 20 مهر 1393, 17:47 عصر
ببخشید اگه منظورم بد گفتم. دقیقا data_seek میخواستم ، الان یه سوال دیگه برام پیش اومده ، برای صفحه بندی یک بار کل سطر هاروی مورد نیاز از بانک سلکت میکنم و بعد از محاسبه تعداد کل صفحات برای دومین بار سطرهای که میخوام نمایش بدم سلکت و fetch میکنم (limit 7,7)...میخواستم بپرسم این روش بهینه تره یا استفاده از data_seek ؟