Я правильно использую api?

введите описание изображения здесь

Когда я нажимаю кнопку просмотра, я просто вижу только запись первого клиента, как я могу получить конкретный идентификатор конкретного клиента, пожалуйста, объясните мне подробно, и я использую codegniter, вот какой-то из моего кода, где я хочу добавить..

AdminController.php

<?php
class AdminController extends MY_Controller {
function __construct()
{
    parent::__construct();
    if(!$this->session->userdata("id")) {
        return redirect('logincontroller/index');
    }
}
public function dashboard()
{

   $this->load->view('admin/dashboard');
}
public function orderhistory()
{
    $this->load->view('admin/order_history');
}
public function catalogue()
{
    $this->load->view('admin/catalouge');
}
public function admin_detail()
{
    $this->load->view('admin/admin_detail');
}
public function agent_detail()
{
    $this->load->view('admin/agent');
}
public function customerdetail()
{
    $this->load->view('admin/customers');
}
public function paymenthistory()
{
    $this->load->view('admin/payment');
}
public function view_order_history()
{
    $this->load->view('admin/view_order_history');
}
public function edit_order_history()
{
    $this->load->view('admin/edit_order_history');
}
public function pagination($current_page)
{

}
public  function view_product_detail()
{
    $this->load->view('admin/view_product_detail');
}
public  function edit_product_detail()
{
    $this->load->view('admin/edit_product_detail');
}
public  function view_admin_detail()
{
    $this->load->view('admin/view_admin_detail');
}
public  function edit_admin_detail()
{
    $this->load->view('admin/edit_admin_detail');
}
public  function edit_agent_detail()
{
    $this->load->view('admin/edit_agent_detail');
}
public  function view_agent_detail()
{
    $this->load->view('admin/view_agent_detail');
}
public  function view_customer_detail()
{
    $this->load->view('admin/view_customer_detail');
}
public  function edit_customer_detail()
{
    $this->load->view('admin/edit_customer_detail');
}
public  function edit_payment_history()
{
    $this->load->view('admin/edit_payment_history');
}
public  function view_payment_history()
{
    $this->load->view('admin/view_payment_history');
}}?>

View_order_history

<div class="container">
    <div class="jumbotron">
        <h1>Jumbotron</h1>
        <p>This is a simple hero unit, a simple jumbotron-style component for  calling extra attention to featured content or information.</p>
        <p><a class="btn btn-primary btn-lg">Learn more</a></p>
    </div>
 </div>

Ответ 1

Поскольку у вас нет кода, соответствующего тому, что вы на самом деле делаете, вот несколько советов/идей:

На вашем классе вместо того, чтобы создавать кучу методов, которые все делают то же самое, я бы предложил использовать __call() для перегрузки класса и сэкономить тонну дублирования. Обычно я не предлагал этого, но в этом случае имеет смысл:

class AdminController extends MY_Controller {
    {
        protected   $args;
        public  function __call($name,$args)
            {
                $count          =   (!empty($args));
                $this->args     =   ($count)? $args : false;
                $this->load->view("admin/{$name}");
            }
    }

Чтобы использовать, просто вызовите имя действия вида:

$tester =   new AdminController();
$tester->admin_detail();

При работе с формой вы можете сделать кнопки своей кнопкой с id как скрытое поле. Я просто сосредоточусь на массиве customer на ключе [0] и разделе [0]. Вы, конечно, сделали бы цикл в массиве customer[0], чтобы получить все строки:

<!-- tester.php is the page that you are sending the post to focus on.
I don't know what your actual page is called, you have not indicated
-->
<form action="/tester.php" method="post">
    <input type="text" name="id" value="<?php echo $arr['customer'][0][0]['id']; ?>" />
    <input type="submit" name="view" value="VIEW" />
    <input type="submit" name="delete" value="DELETE" />
    <input type="submit" name="edit" value="EDIT" />
<?php
foreach($arr['customer'][0][0] as $key => $value) {
    echo $value;
}
?>
</form>

Когда вы нажимаете кнопку VIEW и публикуете на странице фокуса, вы оставляете значение идентификатора строки, которое вы можете использовать для api, чтобы вытащить именно этот (предположительно, вы знаете, как получить API для этого?). Снова у вас нет кода, чтобы показать, как вы делаете что-либо на самом деле, так что это просто общий. Вот что будет делать кнопка. id изменится в зависимости от того, на какую строку вы нажимаете.

Array
(
    [id] => 1
    [view] => VIEW
)