Большое спасибо за ответы my question beforeCodeigniter Сбой для вызова функции внутри контроллера
Поэтому у меня есть еще одна проблема в моем Codeigniter, это все тот же проект, просто подсчет строк данных в моей базе данных.
Что я хотел бы сделать, это создать функцию в контроллере, а затем вызвать эту функцию в представлении.
Так вот мой код ORIGINAL:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Dash_control extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->database();
$this->load->model('dash_model');
}
public function index()
{
$data['cashtotal']=$this->dash_model->totalCash();
$data['approvedtocash']=$this->dash_model->cashapproved();
$data['rejectedtocash']=$this->dash_model->cashrejected();
$this->load->view('dashboard',$data);
}
}
, а затем вот мой взгляд код:
<thead>
<tr>
<th>Bank Name</th>
<th>Total Transaction</th>
<th>Cash Approved</th>
<th>Cash Rejected</th>
</tr>
</thead>
<tbody>
<tr class="warning">
<td>Awesome Bank</td>
<td><?php echo $cashtotal; ?></td>
<td><?php echo $approvedtocash; ?></td>
<td><?php echo $rejectedtocash; ?></td>
</tr>
</tbody>
С учетом указанных выше кодов, все работает отлично. Пока я не изменил мой код, как этот ниже (с тем же файлом вида, как выше):
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Dash_control extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->database();
$this->load->model('dash_model');
}
public function index()
{
$this->load->view('dashboard');
}
public function anotherfunction()
{
$data['cashtotal']=$this->dash_model->totalCash();
$data['approvedtocash']=$this->dash_model->cashapproved();
$data['rejectedtocash']=$this->dash_model->cashrejected();
$this->load->view('dashboard',$data);
}
}
После того, что я получил эту ошибку в моем браузере:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: cashtotal
Filename: views/dashboard.php
Line Number: 147
Backtrace:
File: C:\xampp\htdocs\application\views\dashboard.php
Line: 147
Function: _error_handler
File: C:\xampp\htdocs\application\controllers\dash_control.php
Line: 18
Function: view
File: C:\xampp\htdocs\index.php
Line: 292
Function: require_once
Что я сделал не так? Есть что-то, что мне не хватает? Так что я не могу создать несколько функций внутри моего контроллера? Спасибо вам раньше.
UPDATE
Я последовал за руководство šaty и она работала. Большое спасибо! Поскольку это таблица, я хотел бы добавить еще одну функцию, поэтому я добавляю его так:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Dash_control extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->database();
$this->load->model('dash_model');
}
public function index()
{
$this->CashTransSum();
$this->PayTransSum();
}
public function CashTransSum()
{
$data['cashtotal']=$this->dash_model->totalCash();
$data['approvedcash']=$this->dash_model->cashapproved();
$data['rejectedcash']=$this->dash_model->cashrejected();
$this->load->view('dashboard',$data);
}
public function PayTransSum()
{
$data['paytotal']=$this->dash_model->totalPay();
$data['approvedpay']=$this->dash_model->payapproved();
$data['acqrejectedpay']=$this->dash_model->payrejected();
$this->load->view('dashboard',$data);
}
}
А потом я получил ту же ошибку:
Severity: Notice
Message: Undefined variable: paytotal
Filename: views/dashboard.php
Line Number: 156
Backtrace:
File: C:\xampp\htdocs\application\views\dashboard.php
Line: 156
Function: _error_handler
File: C:\xampp\htdocs\application\controllers\dash_control.php
Line: 29
Function: view
File: C:\xampp\htdocs\application\controllers\dash_control.php
Line: 17
Function: CashTransSum
File: C:\xampp\htdocs\index.php
Line: 292
Function: require_once
Он говорит здесь, что я нужно называть его ОДНИМ ... Кого? Я неправильно поставил код?
Вы все еще нажимаете на индекс? Если да, то ошибки верны. Если вы все еще хотите нажать индексный метод, просто добавьте туда объявления. – Kisaragi