تالار گفتمان nCIS.ir

نسخه‌ی کامل: کار روی آخرین رکورد
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام خسته نباشید
من دیتابیسم 100 تا رکورد داره. میام با این کد یه بخشیش رو برمیدارم:
$this->sql = "SELECT * FROM tbl LIMIT 10";


خوب الان میخام آخرین رکوردی که جواب این کوئری هست رو بگیرم مثلاً id یش رو.این کوئری 10 تا رکورد رو برام برمیگردونه.یعنی این:

نقل قول:
1:
2:
3:
4:
.
.
.
10:id

حالا من میخام آخرین رکورد که 10 ام هستش، ایدیش رو بگیرم.
ممنون میشم کمکم کنید.
راه مناسب اینه که اگه به کل اون ده رکورد نیاز ندارین و فقط رکورد دهم رو میخواین، اینطوری کوئری بنویسید:
SELECT * FROM tbl LIMIT 9, 1

یعنی 9 رکورد اول رو رد کن و بعد یک رکورد برگردون.

اما اگه به این ده رکورد نیاز دارین و توی برنامه میخواین آخری رو جدا کنین اونوقت باید با کدنویسی انجام بدین. برای مثال با PHP و MySQLi :
$con = new MySQLi('localhost', 'root', '', 'dbname');
if($con->connect_errno) {
    exit($con->connect_error);
}
$result = $con->query('SELECT * FROM `tbl` LIMIT 10');
$rows = [];
$rowCount = $result->num_rows;
if($result && $rowCount > 0) {
    while($row = $result->fetch_assoc()) {
        $rows[] = $row;
    }
}
$lastId = $rows[$rowCount - 1]['id'];