[X] Choose Font Here

Simple Data Entry in CodeIgniter

ကြၽန္ေတာ္ ျပီးခဲ့တဲ့ 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 မ်ား

Comments (7)
  • Tsawm Shayi  - something....

    ဒီ 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);
    ဆိုျပီးေျပာင္းလိုက္မွ.. အဆင္ေျပသြားတယ္...
    ေက်းဇူးတင္ပါတယ္...

  • admin  - Re:

    ေက်းဇူးပဲဗ်ာ ...ဟုတ္တယ္ကြၽန္ေတာ္မွားသြားတယ္၊ ျပင္လိုက္ပါမယ္။

  • 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 encountered

    Severity: Notice

    Message: Undefined index: data

    Filename: models/msgmodel.php

    Line Number: 11
    A PHP Error was encountered

    Severity: 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

  • admin  - Re:

    အဲဒါ notice ေတြေၾကာင့္ဗ်။ php.ini မွာ error display ကို off လုပ္ထားရင္ ေျပာက္သြားလိမ့္မယ္။
    coding ထဲကေနလဲ error_reporting(0); ဆိုရင္ ရတယ္ဗ်။
    ကြၽန္ေတာ္က error display ကို off လုပ္ထားလို႕ ခင္ဗ် ;)

  • 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 ေရ

  • ူluyo

    ဒီလိုေရးလိုက္ရင္ရတယ္အကိုအဲလိုပဲလုပ္ရတာလား
    redirect('/message/thank/');
    က်ေနာ္က မွန္မမွန္သိခ်င္လို့ပါbro?

  • admin  - Re:

    Yes Correct. sometime like this also working.
    redirect('message/thank');
    Whatever you write in coding, if it is working fine, it can say as correct. Bro...

    Have Fun!

Write comment
Your Contact Details:
Comment:
[b] [i] [u] [url] [quote] [code] [img]   
:D:angry::angry-red::evil::idea::love::x:no-comments::ooo::pirate::?::(
:sleep::););)):0
Security
Please input the anti-spam code that you can read in the image.

Login Form

Categories Table View

JoomlaWatch Stats 1.2.9 by Matej Koval

Facebook Share

Share on facebook

Accordion FAQ

mod_joomtouch

Version Iphone

Version Iphone by JoomTouch