Here i am using twitter bootstrap theme
Controller to open form name dashboard.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Dashboard extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
$this->load->model('newcategory');
}
public function category()
{
$data['category'] = $this->newcategory->showcategorydetails();
$this->load->view('template/header',$data);
$this->load->view('template/sidebar');
$this->load->view('category', array('error' => ' ' ));
$this->load->view('template/footer');
}
}
?>
In view- file name category.php
<div id="content">
<div class="outer">
<div class="inner">
<div class="row">
<div class="col-lg-12">
<div class="box">
<header>
<div class="icons"> <i class="fa fa-table"></i> </div>
<h5>Dynamic Table</h5>
</header>
<div id="collapse4" class="body">
<table id="dataTable" class="table table-bordered table-condensed table-hover table-striped">
<thead>
<tr>
<th>Image</th>
<th>Name</th>
<th>Description</th>
<th>Slug</th>
<th>Posts</th>
<th>Parent</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php foreach ($category as $cat) { ?>
<tr>
<td><img src="<?php echo base_url(); ?>uploads/<?php echo $cat['img_name']; ?>" class="category-image" alt="category-image"></td>
<td><?php echo $cat['name']; ?></td>
<td><?php echo $cat['description']; ?></td>
<td><?php echo $cat['slug']; ?></td>
<td>Empty</td>
<td>
<?php if($cat['parent']=='0')
{
echo '-N/A-';
} else {
$query=$this->db->query("select parent_cat_name from app_category_parent where id=".$cat['parent']);
$cat_name = $query->result_array();
foreach ($cat_name as $category) {
echo $category['parent_cat_name'];
}}
?></td>
<td><?php if($cat['status']=='1'){ echo 'Active';} else { echo 'Inactive'; } ?></td>
<td>
<a href="<?php echo base_url(); ?>index.php/newentry/deactivate_Category/<?php echo $cat['id']; ?>" class="customClick btn btn-warning btn-xs btn-line" data-str="0">De-activate</a>
<a href="<?php echo base_url(); ?>index.php/newentry/delete_Category/<?php echo $cat['id']; ?>" class="deleteClick btn btn-danger btn-xs btn-line" data-str="0">Delete</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="box dark">
<header>
<div class="icons">
<h5>Add New Category</h5>
<div class="toolbar">
<ul class="nav">
<li> <a class="minimize-box" href="#div-1" data-toggle="collapse"> <i class="fa fa-chevron-up"></i> </a> </li>
</ul>
</div>
</div>
</header>
<div id="div-1" class="accordion-body collapse in body">
<?php echo form_open_multipart('newentry/newcategory') ?>
// for saving data from this form into database-newentry is my controller and newcategory is the function.
<div class="form-group">
<label class="control-label col-lg-4" for="text1">Name</label>
<div class="col-lg-8">
<input id="cat_title" class="form-control" name="cat_title" type="text" required="required" onblur="getslug();">
<p>The name is how it appears on your site.</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-4" for="text1">Slug</label>
<div class="col-lg-8">
<input id="cat_slug" class="form-control" name="cat_slug" type="text" required="required">
<p>The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-4">Parent</label>
<div class="col-lg-8">
<select name="cat_parent" onchange="selected();" id="cat_parent" data-placeholder="Choose a Country..." class="form-control chzn-select" tabindex="2">
<option value="">None</option>
<?
$query=$this->db->query("select app_category.*,app_category_detail.* FROM app_category LEFT JOIN app_category_detail ON app_category.cat_id=app_category_detail.cat_id where status=1");
$cat_name = $query->result_array();
foreach ($cat_name as $category) { ?>
<option value="<?php echo $category['cat_id'];?>"><?php echo $category['name'];?></option>
<? } ?>
</select>
<input type="hidden" id="cat_parent_id" name="cat_parent_id" />
<p>Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-4" for="autosize">Description</label>
<div class="col-lg-8">
<textarea id="autosize" name="cat_description" class="form-control" style="overflow: hidden; word-wrap: break-word; resize: horizontal; height: 134px;"></textarea>
<p>The description is not prominent by default; however, some themes may show it.</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-4">Category Image</label>
<div class="col-lg-8">
<div class="fileinput fileinput-new" data-provides="fileinput">
<div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">
<img data-src="holder.js/100%x100%" alt="...">
</div>
<div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;"></div>
<div>
<span class="btn btn-default btn-file"><span class="fileinput-new">Select image</span><span class="fileinput-exists">Change</span>
<input type="file" name="userfile" size="20" />
</span>
<a href="#" class="btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
</div>
</div>
</div>
</div>
<p class="submit">
<input id="submit" class="btn btn-primary" type="submit" value="Add New Category" name="submit">
</p>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function getslug() {
var str = document.getElementById('cat_title').value;
var res = str.replace(/\s+/g, '-').toLowerCase(); document.getElementById('cat_slug').value = res; }
</script>
<script>
function selected()
{
var id = document.getElementById('cat_parent').value; document.getElementById('cat_parent_id').value=id;
}
</script>
In My controller - name - newentry.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Newentry extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->helper('url');
$this->load->model('newcategory');
}
public function newcategory()
{
$this->newcategory->newcategory_partone();
$id = $this->db->insert_id();
$this->newcategory->newcategory_parttwo($id);
$cid=$this->input->post('cat_parent_id');
if ($cid !='') {
$this->newcategory->newcategory_partthree();
}
redirect('dashboard/category', 'refresh');
}
public function deactivate_Category(){
$id=$this->uri->segment(3);
$this->newcategory->deactivate_category($id);
redirect('dashboard/category', 'refresh');
}
public function delete_Category(){
$id=$this->uri->segment(3);
$this->newcategory->delete_category($id);
redirect('dashboard/category', 'refresh');
}
}
And in my model - name- newcategory.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Newcategory extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function lastregistration_id()
{
return $this->db->insert_id();
}
public function newcategory_partone()
{
$this->load->helper('url');
$this->load->helper('form');
$this->load->helper('date');
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
redirect('dashboard/category', 'refresh');
}
else
{
$data = array('upload_data' => $this->upload->data());
foreach ($data as $item){
$img_path= $item['full_path'];
$img_name= $item['file_name'];
}
$cat = array(
'name' => $this->input->post('cat_title'),
'slug'=>$this->input->post('cat_slug'),
'date_created' => date('Y-m-d H:i:s'),
'system_ip'=> $_SERVER['REMOTE_ADDR'],
'img_name' =>$img_name,
'img_path'=>$img_path,
);
return $this->db->insert('app_category', $cat);
}
}
public function newcategory_parttwo($cat_id)
{
$this->load->helper('url');
$this->load->helper('date');
$cat_second = array(
'cat_id' =>$cat_id,
'name'=>$this->input->post('cat_title'),
'description'=>$this->input->post('cat_description'),
'parent'=>$this->input->post('cat_parent'),
);
return $this->db->insert('app_category_detail', $cat_second);
}
public function newcategory_partthree()
{
$this->load->helper('url');
$this->load->helper('date');
$id=$this->input->post('cat_parent_id');
$query=$this->db->query("select * from app_category where cat_id=$id");
$cat_name = $query->result_array();
foreach ($cat_name as $category) {
$name=$category['name'];
}
$cat_third = array(
'parent_cat_name'=>$name,
'status' =>1,
);
return $this->db->insert('app_category_parent', $cat_third);
}
public function showcategorydetails()
{
$query=$this->db->query("select app_category.*,app_category_detail.* FROM app_category LEFT JOIN app_category_detail ON app_category.cat_id=app_category_detail.cat_id where status=1");
return $query->result_array();
}
public function deactivate_category() {
$id=$this->uri->segment(3);
$data = array(
'status '=>0
);
$this->db->where('id', $id);
$this->db->update('app_category_detail', $data);
}
public function delete_category() {
$id=$this->uri->segment(3);
$data = array(
'status '=>2
);
$this->db->where('id', $id);
$this->db->update('app_category_detail', $data);
}
}
That's it.Enjoy.
This comment has been removed by the author.
ReplyDeletehi,your blog is very helpful to us...click here to See codeigniter insert into database
ReplyDelete