https://medium.com/@naruapon/codeigniter-การส่งพารามิเตอร์ไปยัง-controller-2b0eeb9a295a
การส่งพารามิเตอร์ผ่าน URL ไปยัง Controller โดยส่งมากกว่า 1 ค่า
// application/controllers/Welcome.php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function __construct() {
parent::__construct();
}
// Method ที่รับพารามิเตอร์มากกว่า 1 ค่า
public function example($param1, $param2) {
echo "Parameter 1: " . $param1 . "<br>";
echo "Parameter 2: " . $param2;
}
}
การเรียกใช้งานใน URL
http://yourdomain.com/index.php/welcome/example/value1/value2
การตั้งค่า config/routes.php ข้อมูลที่ส่งมาเป็นอะไรก็ได้
$route['example/(:any)/(:any)'] = 'welcome/example/$1/$2';
เรียกใช้งานด้วย URL ที่สั้นลง
http://yourdomain.com/example/value1/value2
placeholder ที่เฉพาะเจาะจง
(:num) - ใช้สำหรับจับคู่กับค่าที่เป็นตัวเลขเท่านั้น(:any) - ใช้สำหรับจับคู่กับค่าทุกประเภท (ใช้ได้ทั่วไปหากไม่ต้องการระบุรูปแบบ)([a-zA-Z]+) - ใช้สำหรับจับคู่กับตัวอักษรภาษาอังกฤษตัวใหญ่หรือตัวเล็กเท่านั้น([a-zA-Z0-9]+) - ใช้สำหรับจับคู่กับตัวอักษรและตัวเลขเท่านั้นroute
$route['default_controller'] = 'welcome';
$route['404_override'] = 'errors/page_missing';
ตัวอย่างข้อมูลที่ส่งมาต้องเป็นตัวเลช
route
$route['example/(:num)/(:num)'] = 'welcome/example/$1/$2'
Controller
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function example($param1, $param2) {
echo "Parameter 1: " . $param1 . "<br>";
echo "Parameter 2: " . $param2;
}
}