@mohaligateway
@AliValinejad
@hesammousavi
@ali.bayat
@eniack
$this->db->select('
a.reservation_id,
b.airline_id,
city1.code departure_city_code,
airline.name airline_name');
$this->db->from('reservation AS a');
$this->db->join('airline', 'airline.airline_id = b.airline_id');
$this->db->where('c.mobile', $mobile);
$this->db->where('a.status', 1);
$this->db->where_in('a.payment_status', array('2','3'));
$result['rows'] = $this->db->get()->result_array();
$count = count($result['rows']);
echo json_encode($result, JSON_PRETTY_PRINT);
من میخوام برای خروجی json بالا paginate بنویسم میشه راهنمایی کنید
سلام من حال نداشتم کدت رو بخونم
ولی من اینکارو میکنم
$of = isset($_POST['page']) ? ((int) $_POST['page']) * 15 : '0';
$sql = "SELECT * from posts order by id DESC LIMIT 15 offset $of";
اگر لاراوله که داده هاتو بریز تو یه متغیر و به شکل زیر return کن :
return response($data->paginate(conut_of_rows),200);
در غیر این صورت این پکیج کمکت میکنه
سلام
از این پکیج می تونید استفاده کنید.
اگر هم می خواهید می تونید از این کد های pdo استفاده کنید.
@ftp
<?php
use Pagination\Pager;
// Create your PDO connection object $pdo = new \PDO("mysql:host=localhost;port=3306;dbname=testdb", 'root', 'r00t');
// Initiate your pager $p = new Pager($pdo, "SELECT * FROM users");
// Set you page URL $p->setPageUrl("http://localhost/users");
// Set your per page limit $p->setPerPage(10);
$dataRecords = $p->paginate()->data;
foreach($dataRecords as $data) {
echo $data->id.' '.$data->first_name.' '.$data->last_name.'<br />';
}
if(isset($p->paginate()->firstLink)) {
echo "<a href='{$p->paginate()->firstLink}'> << </a> | ";
}
if(isset($p->paginate()->backLink)) {
echo "<a href='{$p->paginate()->backLink}'> < </a>";
}
echo "[{$p->paginate()->currentPage}]";
if(isset($p->paginate()->nextLink)) {
echo "<a href='{$p->paginate()->nextLink}'> > </a> | ";
}
if(isset($p->paginate()->lastLink)) {
echo "<a href='{$p->paginate()->lastLink}'> >> </a>";
}
for JSON
header('Content-Type: application/json'); echo $p->paginateJSON();
@fariborz0015
@mohaligateway
@AliValinejad
@eniack
@ali.bayat
از پکیج نمیخوام استفاده کنم اگه میشه فقط بگید چطوری در این کد جاگذاری کنم راستی به صورت json هست
$this->db->select('
a.reservation_id,
airline.logo,
city1.code departure_city_code,
city2.code arrival_city_code,
b.date,
airline.name airline_name');
$this->db->from('reservation AS a');
$this->db->join('ticket as b', 'b.ticket_id = a.ticket_id');
$this->db->join('customer as c', 'c.customer_id = a.customer_id');
$this->db->join('airline', 'airline.airline_id = b.airline_id');
$this->db->join('city as city1', 'city1.city_id = b.departure_city_id');
$this->db->join('city as city2', 'city2.city_id = b.arrival_city_id');
$this->db->join('reservation_reply as r', 'r.reservation_id = a.reservation_id');
$this->db->where('c.mobile', $mobile);
$this->db->where('a.status', 1);
$this->db->where_in('a.payment_status', array('2','3'));
$result['rows'] = $this->db->get()->result_array();
echo json_encode($result, JSON_PRETTY_PRINT);
سلام وقتتون بخیر!
اگر از لاراول استفاده میکنید
Model::paginate();
Model::where()->paginate();
اگر php خام هست باید از limit استفاده کنید داخل کد sql که میزنید.
@Rp76
اخه اگه بخوام از limit استفاده کنم نمیتونم وقتی خواستم ۵تا بعدی رو ببینم یا ۵ تا قبلی رو ببینم
میشه یک مثال بیارید من هر مثالی رو دیدم به دردم نخورد
سلام دوباره
برای استفاده از limit به offset هم نیاز دارید که به تریتب این کار رو براتون انجام میده.
محدود کردن نمایش
شروع کرد ردیف ها
پس کد میشه
SELECT * FROM `automation_package` LIMIT 3 OFFSET 3
کد بالا نتیجه اش میشه ۳ تا ردیف از جدول که id از 1 نیست از 3 شروع شده چرا که ۳ تاش رو با دستور offset حذف کردیم به اصطلاح
@Rp76
من به این شکل قرار دادم اما باز مشکل داره
$page=$_GET['page'];
$offset=5;
if($page=="" || $page=="1"){
$page1=0;
}else{
$page1=($page*5)-5;
}
$this->db->select('
a.reservation_id,
airline.logo,
city1.code departure_city_code,
city2.code arrival_city_code,
b.date,
airline.name airline_name');
$this->db->from('reservation AS a');
$this->db->join('ticket as b', 'b.ticket_id = a.ticket_id');
$this->db->join('customer as c', 'c.customer_id = a.customer_id');
$this->db->join('airline', 'airline.airline_id = b.airline_id');
$this->db->join('city as city1', 'city1.city_id = b.departure_city_id');
$this->db->join('city as city2', 'city2.city_id = b.arrival_city_id');
$this->db->join('reservation_reply as r', 'r.reservation_id = a.reservation_id');
$this->db->where('c.mobile', $mobile);
$this->db->where('a.status', 1);
$this->db->where_in('a.payment_status', array('2','3'));
// $this->db->limit($page1);
$this->db->limit($page1,1);
$result['rows'] = $this->db->get()->result_array();
$count = count($result['rows']);
for ($i = 0; $i < $count; $i++) {
//$result['rows'][$i]['file_name'] =base_url('download/get/'.$result['rows'][$i]['file_name'].DIRECTORY_SEPARATOR.$result['rows'][$i]['file_ext'].'/r');
$result['rows'][$i]['date'] = $this->jalalidate->date('Y/m/d H:i:s', $result['rows'][$i]['date']);
// $result['rows'][$i]['ts'] = $this->jalalidate->date('Y/m/d H:i:s', $result['rows'][$i]['ts']);
}
$result['status'] = 200;
$result['type'] = 'success';
} else {
$result['status'] = 401;
$result['type'] = 'Unauthorized';
$result['message'] = 'Wrong OTP.';
}
// header('Content-Type: ' . get_mime_by_extension(".json"));
echo json_encode($result, JSON_PRETTY_PRINT);
$a=$count/$offset;
$a=ceil($a);
// echo $count."--".$a;
echo "<br>";
for($b=1;$b<=$a;$b++){
echo "<a href='orderList_All?page={$b}' style='text-decoration: none'>Link{$b}\n</a>";
}
سلام من حال نداشتم کدت رو بخونم
ولی من اینکارو میکنم
$of = isset($_POST['page']) ? ((int) $_POST['page']) * 15 : '0';
$sql = "SELECT * from posts order by id DESC LIMIT 15 offset $of";
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟