第一次使用CI框架,试着写了一个增删改查功能,MVC模式
本帖最后由 ╭淡淡男人味`ζ 于 2014-8-11 14:00 编辑控制器 goods.php<?php
class CI_MysqlDB extends CI_Model {
/**
* 执行数据录入操作
* @param 数据表名 $tb_name
* @param 录入字段 $values
* @return 影响行数
*/
public function insert($tb_name, $data)
{
$data = implode(',', $data);
$data = str_replace(",", "', '", $data);
$sql = "INSERT INTO $tb_name VALUES ( null, '$data' )";
$res = mysql_query($sql);
$num = mysql_affected_rows();
return $num;
}
/**
* 执行删除数据操作
* @param 数据表名 $tb_name
* @param 删除条件 $where
* @return 影响行数
*/
public function delete($tb_name, $where)
{
$sql = "DELETE FROM $tb_name WHERE $where";
$res = mysql_query($sql);
$num = mysql_affected_rows();
return $num;
}
/**
* 执行修改数据操作
* @param 数据表名 $tb_name
* @param 修改信息 $set
* @param 修改条件 $where
* @return 影响行数
*/
public function edit($tb_name, $set, $where)
{
$sql = "UPDATE $tb_name SET $set WHERE $where";
$res = mysql_query($sql);
$num = mysql_affected_rows();
return $num;
}
}
模型goods_model.php
<?php
class Goods_model extends CI_Model
{
private $tb_name = 'goods';
public function __construct()
{
parent::__construct();
$this->load->model('db_goods');
}
/**
* 查询100条数据
* @return 二维数组
*/
public function get_goods()
{
$resoult = $this->db->get('goods', 100, 0);
$rows = $resoult->result_array();
return $rows;
}
/**
* 查询某个商品详细信息
* @param 商品id $id
* @return 一维数组
*/
public function goodsinfo ($id)
{
$res = $this->db->query('SELECT * FROM goods WHERE id = ' . $id);
$row = $res->row_array();
return $row;
}
/**
* 录入商品信息
* @param 商品字段 $data
* @return 执行状态
*/
public function addgoods($data)
{
$data['gtime'] = !empty($data['gtime'])?$data['gtime']:date('Y-m-d H:i:s');
unset($data['submit']);
if (!empty($data['name']) && !empty($data['price']) && !empty($data['market']))
{
$num = $this->db_goods->insert($this->tb_name, $data);
} else
{
$num = 0;
}
return $num;
}
/**
* 删除商品信息
* @param 商品id $id
* @return 执行状态
*/
public function delgoods($id)
{
$where = 'id = ' . $id;
$num = $this->db_goods->delete($this->tb_name, $where);
return $num;
}
/**
* 修改商品信息
* @param 商品id $id
* @param 修改内容 $data
* @return 执行状态
*/
public function editgoods($id, $data)
{
$where = 'id = ' . $id;
$set = "goods_name = '{$data['name']}',
goods_price = '{$data['price']}',
goods_market = '{$data['market']}',
content = '{$data['content']}',
goods_time = '{$data['gtime']}'";
$num = $this->db_goods->edit($this->tb_name, $set, $where);
return $num;
}
}
DB层db_goods.php
<?php
require_once 'application/core/CI_MysqlDB.php';
class DB_goods extends CI_MysqlDB {
}
CI_MysqlDB.php
<?php
class CI_MysqlDB extends CI_Model {
/**
* 执行数据录入操作
* @param 数据表名 $tb_name
* @param 录入字段 $values
* @return 影响行数
*/
public function insert($tb_name, $data)
{
$data = implode(',', $data);
$data = str_replace(",", "', '", $data);
$sql = "INSERT INTO $tb_name VALUES ( null, '$data' )";
$res = mysql_query($sql);
$num = mysql_affected_rows();
return $num;
}
/**
* 执行删除数据操作
* @param 数据表名 $tb_name
* @param 删除条件 $where
* @return 影响行数
*/
public function delete($tb_name, $where)
{
$sql = "DELETE FROM $tb_name WHERE $where";
$res = mysql_query($sql);
$num = mysql_affected_rows();
return $num;
}
/**
* 执行修改数据操作
* @param 数据表名 $tb_name
* @param 修改信息 $set
* @param 修改条件 $where
* @return 影响行数
*/
public function edit($tb_name, $set, $where)
{
$sql = "UPDATE $tb_name SET $set WHERE $where";
$res = mysql_query($sql);
$num = mysql_affected_rows();
return $num;
}
}
视图层index.tpl
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>{$title}</title>
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<style type="text/css">
li {
width:380px;
font-size:12px;
line-height:20px;
position:relative;
}
li span {
position:absolute;right:0;
}
</style>
</head>
<body>
{include file='header.tpl'}
<ul>
{foreach from=$rows item='value'}
<li>
<a href="/goods/goodsinfo?id={$value.id}" target="_blank">{$value.goods_name}</a>
<span>
<a href="/goods/editgoods?id={$value.id}">修改</a>
<a href="/goods/delgoods?id={$value.id}">删除</a>
</span>
</li>
{/foreach}
</ul>
<div style="width:350px;background:#ddd;padding:10px;margin:0 auto;">
<form method="post" action="goods/addgoods">
商品名称:<input type="text" name="name" /><br />
商品价格:<input type="text" name="price" /><br />
市场价格:<input type="text" name="market" /><br />
上架时间:<input type="text" name="gtime" /><br />
商品描述:<textarea name="content"></textarea>
<input type="submit" name="submit" value="发布商品" />
</form>
</div>
</body>
</html>
edit.tpl
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<meta name="Keywords" content="" />
<meta name="Description" content="" />
</head>
<body>
{include file='header.tpl'}
<div style="width:350px;background:#ddd;padding:10px;margin:0 auto;">
<form method="post" action="/goods/editgoods?id={$row.id}&act=edit">
商品名称:<input type="text" name="name" value="{$row.goods_name}" /><br />
商品价格:<input type="text" name="price" value="{$row.goods_price}" /><br />
市场价格:<input type="text" name="market" value="{$row.goods_market}" /><br />
上架时间:<input type="text" name="gtime" value="{$row.goods_time}" /><br />
商品描述:<textarea name="content">{$row.content}</textarea>
<input type="submit" name="submit" value="修改商品" />
</form>
</div>
</body>
</html>
以上就是所有代码,还望高手指点,感谢!
...........控制器 。。复制错误了
页:
[1]