Simple Data Entry in CodeIgniter
Sunday, 13 June 2010 15:16
ကြၽန္ေတာ္ ျပီးခဲ့တဲ့ post ေတြမွာ CodeIgniter Database class, Form Helper ေတြကိုေရးျပီး ေနလို႕ ဒီ post မွာ data entry sample
ေရးျပပါမယ္။ အရင္ဆုံး ဒီ script ေလးကို run လိုက္ဗ်ာ။ message ဆိုတဲ့ table ကို create လုပ္သြားပါမယ္။ CREATE TABLE `message` (
`id` int(10) unsigned NOT NULL auto_increment,
`title` varchar(50) default NULL,
`data` text,
);
ေနာက္တစ္ဆင့္ အေနနဲ႔ လိုအပ္တဲ့ configuration ေတြကို application\config\database.php ထဲမွာ ျပင္ေပးရပါမယ္။ ကိုယ့္ setting အရ
ဒီေနရာေတြမွာ ျပင္ေပးဖို႔လိုပါတယ္။ $db['default']['hostname'] = "";
$db['default']['username'] = "";
$db['default']['password'] = "";
$db['default']['database'] = "";
Model ထဲမွာ database နဲ႔ ဆိုင္တဲ့ function ေတြကို အရင္ေရးပါမယ္။ msgmodel.php ဆိုျပီး save လိုက္ပါ။
<?
class msgmodel extends Model {
function msgmodel() {
parent::Model();
}
function submit_posted_data() {
$data = array(
'id' => '',
'title' => $_POST['title'],
'data' => $_POST['data']
);
$this->db->insert('message',$data);
}
}
?>
submit_posted_data ကေတာ့ form ကေန pass လုပ္လိုက္တဲ့ value ေတြကို insert လုပ္မွာ ျဖစ္ပါတယ္။ CI database library ထဲမွာ
insert ဆိုတဲ့ function ရွိျပီးသားပါ။ Controller ေရးပါမယ္။ message.php ဆိုျပီး save လိုက္ပါ။ <?
class message extends Controller {
function message(){
parent::Controller();
$this->load->model('msgmodel');
$this->load->database();
$this->load->helper(array('form','url'));
}
function index() {
$data['title']='Message Data';
$this->load->view('message_view',$data);
}
function submit() {
$this->msgmodel->submit_posted_data();
redirect('thank');
}
function thank(){
$data['title']='Thanks for your submit';
$this->load->view('message_view',$data);
}
}
?>
$this->load->model('msgmodel'); ကေတာ့ အေပၚမွာ ေရးထားတဲ့ msgmodel ကို loading လုပ္ထားတာ ျဖစ္ပါတယ္။
$this->load->database(); ကေတာ့ CI database library ကို load လုပ္ထား ျဖစ္ပါတယ္။
$this->load->helper(array('form','url')); ကေတာ့ helper class ေတြျဖစ္တဲ့ form နဲ႔ url ေတြကို load လုပ္ထားတာ ျဖစ္ပါတယ္။
function index() ထဲက $this->load->view('message_view',$data); ကေတာ့ message_view ဆိုတဲ့ file ကို load လုပ္ထားတာ
ျဖစ္ပါတယ္။ function submit() ထဲက $this->msgmodel->submit_posted_data(); ကေတာ့ model ထဲက submit_posted_data
function ကို data insert လုပ္ဖို႔ေခၚ ထားတာ ျဖစ္ပါတယ္။ redirect('thank'); ဆိုတာကေတာ့ CI ရဲ႕ built in function ျဖစ္တဲ့ redirect
ကိုသုံးျပီး submit လုပ္ျပီး redirect လုပ္ခ်င္တဲ့ function ကိုေခၚထားတာ ျဖစ္ပါတယ္။ Okay, ေနာက္ဆုံးမွာ view ကိုေရးပါမယ္။
message_view.php ဆိုျပီး save လိုက္ပါ။ <html>
<head>
<title><?=$title;?></title>
</head>
<body>
<?
echo form_open(message/submit');
$data = array(
'name' =>'title',
'id' => 'title',
'maxlength' => '50',
'size' => '50',
'style' => 'background-color:#f1f1f1'
);
echo form_input($data);
$data = array(
'name' =>'data',
'id' => 'data',
);
echo form_textarea($data);
echo form_submit('mysubmit', 'Submit Message!');
echo form_close();
?>
</body>
</html>
ခုကြၽန္ေတာ္ view ကို form helper သုံးျပီးေရးထားတာေတြ႔ႏိုင္ပါတယ္။ form_open(), form_close(), form_data(), form_textarea(),
form_submit() စတာေတြကို ျမင္ႏိုင္ပါတယ္။ form ကို submit လုပ္တဲ့ အခါ controller ထဲက submit ဆိုတဲ့ function ကိုလွမ္းေခၚပါတယ္။
အဲဒီကမွ တဆင့္ msgmodel ထဲက submit_posted_data() ကိုထပ္ျပီး ေခၚလိုက္ပါတယ္။ insert လုပ္ျပီးတဲ့ အခါ redirect('thank'); ဆိုျပီး
Thanks You message ျပဖို႔ redirect သုံးျပီးသြားလိုက္တာျဖစ္ပါတယ္။ ခုကြၽန္ေတာ္ေရးျပတာ very very simple data entry exampe
ေလးျဖစ္ပါတယ္။ ကိုယ္ဟာကို ထပ္ဆင့္ျပီး ေရးၾကည့္ႏိုင္ပါတယ္။ ဆက္ဖတ္သင့္ေသာ Post မ်ား
-
CodeIgniter and MVC for Beginners
-
Structure and Configuration of CodeIgniter
-
CodeIgniter Database Library
-
CodeIgniter Form Helper
-
MVC (SaturnGod)
-
2010-10-03 02:26:02 |SAdministrator| admin - Re:
ေက်းဇူးပဲဗ်ာ ...ဟုတ္တယ္ကြၽန္ေတာ္မွားသြားတယ္၊ ျပင္လိုက္ပါမယ္။
-
2010-11-12 21:58:37 |88.201.242.xxx| luyo - error
ဒီလို error တက္ေနတာဘာျဖစ္လို့ပါလဲခင္ဗ်
ကူညီေပးပါအံုးခင္ဗ်A PHP Error was encountered
Severity: Notice
Message: Undefined index: title
Filename: models/msgmodel.php
Line Number: 10
A PHP Error was encounteredSeverity: Notice
Message: Undefined index: data
Filename: models/msgmodel.php
Line Number: 11
A PHP Error was encounteredSeverity: Warning
Message: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\framework\system\application\m odels\msgmodel.php:1)
Filename: helpers/url_helper.php
Line Number: 541
-
2010-11-13 20:58:22 |SAdministrator| admin - Re:
အဲဒါ notice ေတြေၾကာင့္ဗ်။ php.ini မွာ error display ကို off လုပ္ထားရင္ ေျပာက္သြားလိမ့္မယ္။
coding ထဲကေနလဲ error_reporting(0); ဆိုရင္ ရတယ္ဗ်။
ကြၽန္ေတာ္က error display ကို off လုပ္ထားလို႕ ခင္ဗ်
-
2010-11-14 01:28:29 |88.201.242.xxx| Anonymous
ဟုတ္ကဲ့အကိုေရအဆင္ေျပသြားျပီေက်းဇူးတင္ပါတယ္
redirect('thank'); က built in ျဖစ္ဖို့ဘာျပင္ေပးရလဲမသိဘူး
သူကေခၚလိုက္ေတာ့actionျဖစ္ရမွာကို(index.php/ controller/thank)
မျဖစ္ပဲနဲ့ controller (index.php/thank)ျဖစ္သြားေတာ့အကို(404 Page Not Found
The page you requested was not found.)
ဒီလိုျပေနေရာ
အလုပ္ရႈပ္သလိုျဖစ္ေနျပီလားမသိဘူး
အဆင္ေျပရင္တစ္ခ်က္ေလာက္ေျဖေပးပါအံုး bro ေရ
| < Prev | Next > |
|---|
Login Form
Latest Post
Categories Table View
- Reader's Conner (133)
- PHP (48)
- Joomla CMS (46)
- Codeigniter (18)
- jQuery (12)
- iDhamma (11)
- Mobile Development (10)
- PHP & AJAX (4)
- Apache (3)
- For Mac (3)
- mySQL (2)
- DhammaDroid (1)
ဒီ post ေလးကို စမ္းၾကည့္တဲ့ခါ...
function submit_posted_data() {
$this->db->insert('message',$_POST);
}
ဆိုတဲ့ေနရာမွာ... error တက္လာတယ္
A Database Error Occurred
Error Number: 1054
Unknown column 'mysubmit' in 'field list'
INSERT INTO `message` (`title`, `data`, `mysubmit`) VALUES ('tester', 'testing',Submit Message!')
ဆိုျပီးေတာ့ ျဖစ္သြားတာပါ.. အဲ့ဒါကို
$data = array(
'id' => '',
'title' => $_POST['title'],
'data' => $_POST['data']
);
$this->db->insert('message',$data);
ဆိုျပီးေျပာင္းလိုက္မွ.. အဆင္ေျပသြားတယ္...
ေက်းဇူးတင္ပါတယ္...