In our previous tutorials we have explained you , how to create and validate forms in codeigniter. In this blog, we will demonstrate you to create and validate a form containing a select option box field using CodeIgniter PHP framework.

In our example, we have created a select option field in form with fetched values from database using for each loop and set validation rules for fields.

<select name="city">
<option value="none" selected="selected">------------Select City------------</option>
<!-----Displaying fetched cities in options using foreach loop ---->
<?php foreach($students as $student):?>
<option value="<?php echo $student->student_id?>"><?php echo $student->city?></option>
<?php endforeach;?>
</select>

watch our live demo or copy paste our codes as per directed in read me file.

download the selectoptionfield_ci.zip file from below link, extract files and include them in view, controller and model directory of your codeigniter framework as shown in the Read Me.txt file.

-: See Also :-

Form Validation using CodeIgniter

Insert Data using CodeIgniter 

Delete Data using CodeIgniter 

Update Data using CodeIgniter 

Validate-select-option-field

 

VIEW FILE: select_view.php

In this, we fetched all the adresses from data base and showed them in select option field.

<html>
<head>
<title> Create And Validate Select Option Field (using for each loop) In CodeIgniter</title>
<link href='http://fonts.googleapis.com/css?family=Marcellus' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="<?php echo base_url(). "css/select.css" ?>">
</head>
<body>
<div id="container">
<?php echo form_open('select_ctrl/error'); ?>
<h3>Create And Validate Select Option Field (using for each loop) In CodeIgniter</h3>
<?php echo form_label('Student Name :'); ?> <?php echo form_error('dname'); ?>
<?php echo form_input(array('id' => 'dname', 'name' => 'dname')); ?>
<?php echo form_label('Student Email :'); ?> <?php echo form_error('demail'); ?>
<?php echo form_input(array('id' => 'demail', 'name' => 'demail')); ?>
<?php echo form_label('Student City :'); ?><?php echo form_error('city'); ?>
<select name="city">
<option value="none" selected="selected">------------Select City------------</option>
<!----- Displaying fetched cities in options using foreach loop ---->
<?php foreach($students as $student):?>
<option value="<?php echo $student->student_id?>"><?php echo $student->city?></option>
<?php endforeach;?>
</select>
<?php echo form_submit(array('id' => 'submit', 'value' => 'Submit')); ?>
<?php echo form_close(); ?>
</div>
</body>
</html>

 

CONTROLLER FILE: select_ctrl.php

copy the below file  in your controller directory.

<?php
class select_ctrl extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->model('select_model');
}
function index(){
// Loading model to fetch all records from database
$data['students'] = $this->select_model->show_students();
$this->load->view('select_view', $data);
}
// Validation Function
function error(){
$this->load->library('form_validation');
$abcd = $this->input->post('city');
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
$this->form_validation->set_rules('dname', 'Username', 'required|min_length[5]|max_length[15]');// Validating Name field.
$this->form_validation->set_rules('demail', 'Email', 'required|valid_email'); // Validating Email field.
$this->form_validation->set_rules('city', 'city', 'required|callback_select_validate'); // Validating select option field.
if ($this->form_validation->run() == FALSE) {
$this->index();
} else{
echo "<script>alert('Form Submitted Successfully....!!!! ');</script>";
$this->index();
}
}
// Below function is called for validating select option field.
function select_validate($abcd)
{
// 'none' is the first option that is default "-------Choose City-------"
if($abcd=="none"){
$this->form_validation->set_message('select_validate', 'Please Select Your City.');
return false;
} else{
// User picked something.
return true;
}
}
}
?>

 

MODEL FILE: select_model.php

Create new class in your model as shown below.


<?php
class select_model extends CI_Model{
//function to run select all query from students table
function show_students(){
$query = $this->db->get('students');
$query_result = $query->result();
return $query_result;
}
}
?>

 

My SQL Code Segment:

To create database and table, execute following codes in your My SQL .

CREATE DATABASE college;
CREATE TABLE students(
student_id int(10) NOT NULL AUTO_INCREMENT,
student_name varchar(255) NOT NULL,
student_email varchar(255) NOT NULL,
student_contact varchar(255) NOT NULL,
student_address varchar(255) NOT NULL,
student_city varchar(255) NOT NULL,
PRIMARY KEY (employee_id)
)

 

CSS FILE: select.css

Styling HTML Elements.

#container{
width:960px;
height:610px;
margin:50px auto
}
.error{
color:red;
font-size:13px;
margin-bottom:-15px
}
form{
width:345px;
padding:0 50px 20px;
background:linear-gradient(#A5FFFF,#FFF);
border:1px solid #ccc;
box-shadow:0 0 5px;
font-family:'Marcellus',serif;
float:left;
margin-top:10px
}
h3{
text-align:center
}
hr{
border:0;
border-bottom:1.5px solid #ccc;
margin-top:-10px;
margin-bottom:30px
}
label{
font-size:17px
}
input,select{
width:100%;
padding:10px;
margin:6px 0 20px;
border:none;
box-shadow:0 0 5px
}
input#submit{
margin-top:20px;
font-size:18px;
background:linear-gradient(#22abe9 5%,#36caf0 100%);
border:1px solid #0F799E;
color:#fff;
font-weight:700;
cursor:pointer;
text-shadow:0 1px 0 #13506D
}
input#submit:hover{
background:linear-gradient(#36caf0 5%,#22abe9 100%)
}

Conclusion:

Now, you can create and validate your own select option field using codeigniter framework. keep following us to learn more.