[英]how to solve the error in codeigniter?
this is controller submenu.php 这是控制器submenu.php
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Submenu extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->library('form_validation');
$this->load->model("submenu_model");
}
public function index()
{
$arr['page'] = 'submenu';
$qry ='Select * from subcategory';
$arr['submenu'] = $this->db->query($qry)->result_array();
//$data['view']='edit';
$this->load->view('admin/vwAddSubmenu',$data);
}
public function add_submenu()
{
if(isset($_POST['submit']))
{
$name = mysql_real_escape_string($_POST['name']);
$url = $_POST['url'];
$cat = $_POST['category'];
$result = $this->submenu_model->insert_subcategory($name,$url,$cat);
if(isset($result))
{
echo 'insert successfully';
redirect('admin/submenu/');
}
else
{
echo 'insert Failed';
}
}
$arr['page'] = 'submenu';
$data['category'] = $this->submenu_model->get_category();
$this->load->view('admin/vwManageSubmenu',$arr);
$this->load->view('admin/vwAddSubmenu',$arr);
//$this->load->view('admin/vwAddSubmenu',$arr,$data);
}
}
this is view 这是视图
<form method="post" action="<?php echo base_url() ?>admin/submenu/add_submenu">
<input type="text" name="name" value="Sub Category Name">
<input type="text" name="url" value="Sub Category URL">
<select name="category">
<?php
foreach ($category as $item)
{ ?>
<option id="<?php echo $item['id'] ?>"><?php echo $item['name'] ?></option>
<?php } ?>
</select>
<input type="submit" name="submit" value="Add Sub Category">
</form>
and this is model submenu_model.php 这是模型submenu_model.php
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Submenu_model extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->library('form_validation');
if (!$this->session->userdata('is_admin_login'))
{
redirect('admin/home');
}
}
public function index()
{
$arr['page'] = 'submenu';
$qry ='Select * from subcategory';
$arr['submenu'] = $this->db->query($qry)->result_array();
//$data['view']='edit';
$this->load->view('admin/vwManageSubmenu',$arr);
}
public function add_submenu()
{
if(isset($_POST['submit']))
{
$name = mysql_real_escape_string($_POST['name']);
$url = $_POST['url'];
$cat = $_POST['category'];
$result = $this->submenu_model-
>insert_subcategory($name,$url,$cat);
if(isset($result))
{
echo 'insert successfully';
redirect('admin/submenu/');
}
else
{
echo 'insert Failed';
}
}
$arr['page'] = 'submenu';
$data['category'] = $this->submenu_model->get_category();
$this->load->view('admin/vwAddSubmenu',$data);
//$this->load->view('admin/vwAddSubmenu',$arr,$data);
}
}
Now in http://localhost/admin/admin/submenu in the dropdown the error is shown 现在在下拉菜单的http:// localhost / admin / admin / submenu中显示错误
A PHP Error was encountered Severity: Notice Message: Undefined variable: category Filename: admin/vwAddSubmenu.php Line Number: 48 A PHP Error was encountered Severity: Warning Message: Invalid argument supplied for foreach() Filename: admin/vwAddSubmenu.php Line Number: 48 what is the solution? 遇到PHP错误严重性:注意消息:未定义变量:类别文件名:admin / vwAddSubmenu.php行号:48遇到PHP错误严重性:警告消息:为foreach()提供了无效的参数文件名:admin / vwAddSubmenu.php行编号:48解决方案是什么?
In controller: 在控制器中:
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Submenu extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->library('form_validation');
$this->load->model("submenu_model");
}
public function index()
{
$arr['page'] = 'submenu';
$qry = 'Select * from subcategory';
$arr['submenu'] = $this->db->query($qry)->result_array();
$this->load->view('admin/vwAddSubmenu', $arr); //passing data to view
}
public function add_submenu()
{
if (isset($_POST['submit']))
{
$name = mysql_real_escape_string($_POST['name']);
$url = $_POST['url'];
$cat = $_POST['category'];
$result = $this->submenu_model->insert_subcategory($name, $url, $cat);
if (isset($result))
{
echo 'insert successfully';
redirect('admin/submenu/');
}
else
{
echo 'insert Failed';
}
}
$arr['page'] = 'submenu';
$arr['category'] = $this->submenu_model->get_category();
//$this->load->view('admin/vwManageSubmenu', $arr); //loading two views
$this->load->view('admin/vwAddSubmenu', $arr); //passing data to view
}
}
In Model - should be something like this 在模型中-应该是这样的
class submenu_model extends CI_Model {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function insert_subcategory()
{
//code for insert
}
function get_category()
{
$query = $this->db->get('category_table');
return $query->result();
}
refer https://ellislab.com/codeigniter/user-guide/general/models.html 请参阅https://ellislab.com/codeigniter/user-guide/general/models.html
in controller $arr['submenu'] submenu is the variable passed to view. 在控制器$ arr ['submenu']子菜单中,子菜单是传递给视图的变量。
In View : 在视图中:
<select name="category">
<?php
foreach ($submenu as $item)
{
?>
<option id="<?php echo $item['idsubcategory']; ?>">
<?php echo $item['namesubcategory']; ?></option>
<?php } ?>
</select>
<?php
class Submenu_model extends CI_Model {
function __construct(){
parent::__construct();
$this->load->database();
}
function get_category()
{
$query = $this->db->get('category');
return $query->result();
}
function insert_subcategory($name,$url,$cat)
{
$data = array(
'namesubcategory' => $name,
'urlsubcategory' => $url ,
'idcategory' => $cat
);
$this->db->insert('subcategory', $data);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.