21 / 06 / 2009
class : codeigniter [ ekle / sil / güncelle ]
ekleyen: Emre Çevik kategori: codeigniter| php
Merhaba,
Kendi sistemimde kullandığım bu sistem veri tabanına ekleme/güncelleme/silme işlemlerini yapıyor ve dışarıdan gelen bilgileri verdiğiniz kurallara göre süzme işlemine yarıyor.

Kullanımı benim işimi baya bir hızlandırıyor. Hoşunuza giderse kullanmanız açısından veriyorum.
Hata ile karşılaştığınız kısımları bildirirseniz sevinirim.
Kullanım
Öncelikle classı çağıracağız. çağırma işlemi yaparken kullanıcağımız mysql tablosunuda belirtmemiz gerekmektedir. Aşağıdaki koddanda anlaşıldığı gibi Jure classını çağırıyoruz ve “news” tablosu ile çalışacağımızı belirtiyoruz.
$this->load->library('jure', array('table' => 'news'));
$array = array( 'icerik' => array( 'rules' => 'trim|htmlspecialchars', 'rname' => 'content', 'value' => '' ), 'gonderen' => array( 'value' => 'emre' ) ); $this->jure->_add($array);
Yukardaki işlem aşağıdaki sorguyu çalıştırır.
INSERT INTO `news` (`content`, `gonderen`) VALUES ('icerik inputundan gelen veriyi trim ve htmlspecialchars yaptıktan sonra buraya ekler', 'emre')
Aşağıdaki örnekleri inceleyince daha iyi anlıyacağınızı umuyorum. rules sadece dışardan gelen veriler için çalışmaktadır.
ÖRNEKLER:
CREATE TABLE `news` ( `id` int(8) unsigned NOT NULL auto_increment, `name` varchar(255) NOT NULL, `content` text NOT NULL, `gonderen` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=1 ;
Örnek 1: ( veri tabanına kayıt ekleme )
function ornek1() { $this->load->library('jure', array('table' => 'news')); $post['name']['value'] = 'name alanı'; $post['content']['value'] = 'içerik kısmı'; $post['gonderen']['value'] = 'emre'; $this->jure->_add($post); } //INSERT INTO `news` (`name`, `content`, `gonderen`) VALUES ('name alanı', 'içerik kısmı', 'emre')
Örnek 2: ( veri tabanına kayıt ekleme )
function ornek2() { $this->load->library('jure', array('table' => 'news')); $post['name']['value'] = 'name alanı'; $post['icerik']['value'] = 'içerik kısmı'; $post['icerik']['rname'] = 'content'; $this->jure->_add($post); //INSERT INTO `news` (`name`, `content`) VALUES ('name alanı', 'içerik kısmı') }
Örnek 3: ( veri tabanındaki kayıtı düzenleme )
function ornek3() { $this->load->library('jure', array('table' => 'news')); $post['name']['value'] = 'name alanı'; $post['content']['value'] = 'içerik kısmı'; $post['gonderen']['value'] = 'emre'; $where = array('field' => 'id', 'value' => 1); $this->jure->_edit($post,$where); //UPDATE `newss` SET `name` = 'name alanı', `content` = 'içerik kısmı', `gonderen` = 'emre' WHERE `id` = 1 }
Örnek 4: ( veri tabanından kayıt silme )
function ornek4() { $this->load->library('jure', array('table' => 'news')); $data = array('field' => 'id', 'value' => 1); $this->jure->_del($data); //DELETE FROM `news` WHERE `id` = 1 }
Örnek 5: ( ekleme / silme / düzenleme formu )
application/controllers/examples.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * Kolay Ekleme Zımbırtısı * * @author Emre Çevik * info@internet.com.tr * @link http://internet.com.tr * @version Version 1.0 */ class Examples extends Controller { function Examples() { parent::Controller(); } function add() { $this->load->library('jure', array('table' => 'news')); $post['name']['rules'] = 'trim|htmlspecialchars|required|min_length[4]'; $post['icerik']['rules'] = 'trim|htmlspecialchars'; $post['icerik']['rname'] = 'content'; $post['gonderen']['value'] = 'emre'; $submit = $this->input->post('submit'); if(!empty($submit)) { if($this->jure->_add($post)) { exit("haber eklendi"); } } $this->theme->assign('validation', $this->validation); $this->theme->assign('content', $this->theme->fetch('submit.tpl')); $this->theme->output(); } function edit() { $this->load->library('jure', array('table' => 'news')); $post['name']['rules'] = 'trim|htmlspecialchars|required|min_length[4]'; $post['icerik']['rules'] = 'trim|htmlspecialchars'; $post['icerik']['rname'] = 'content'; $post['gonderen']['value'] = 'emre'; $submit = $this->input->post('submit'); if(!empty($submit)) { $id = intval($this->input->post('id')); $where = array('field' => 'id', 'value' => $id); if($this->jure->_edit($post,$where)) { exit("haber duzenlendi"); } else { $val = $this->validation; } } else { $id = intval($this->uri->segment(3)); $data = array('field' => 'id', 'value' => $id); $val = $this->jure->getRow($data); $val->icerik = $val->content; } $this->theme->assign('form_edit_id', $id); $this->theme->assign('validation', $val); $this->theme->assign('content', $this->theme->fetch('edit.tpl')); $this->theme->output(); } function del() { $this->load->library('jure', array('table' => 'news')); $data = array('field' => 'id', 'value' => intval($this->uri->segment(3))); $this->jure->_del($data); } } ?>
application/views/edit.tpl
<form name="form" method="post"> name : <input type="text" name="name" value="{$validation->name}" style="width:200px" />{$validation->name_error}<br> icerik : <textarea name="icerik" style="width:200px">{$validation->icerik}</textarea>{$validation->icerik_error}<br> <input type="submit" name="submit" value="Git" /> <input type="hidden" name="id" value="{$form_edit_id}" /> </form>
applications/views/submit.tpl
<form name="form" method="post"> name : <input type="text" name="name" value="{$validation->name}" style="width:200px" />{$validation->name_error}<br> icerik : <textarea name="icerik" style="width:200px">{$validation->icerik}</textarea>{$validation->icerik_error}<br> <input type="submit" name="submit" value="Git" /> </form>
ben smarty kullandığım için kodlar smarty ile uygun. siz kendinize göre değiştirirsiniz. Ek olarak dosyalarıda ekledim.
dosya : codeigniter [ ekle / sil / güncelle ]
benzer konular:














design patterns