php myslq分类管理,Jquery+Ajax+PHP+MySQL实现分类列表管理(上)

本文演示了如何结合Jquery、Ajax、PHP和MySQL创建一个客户分类列表管理系统,提供增删改操作。通过Ajax异步请求和Json数据交换,增强了用户体验,简化了交互流程。用户输入新分类后,点击保存,会触发Ajax请求,后台处理后返回成功或失败信息。新增项操作可随时取消。涉及的关键技术包括前端交互设计、后端数据处理和数据库操作。
摘要由CSDN通过智能技术生成

本文将采用Jquery+Ajax+PHP+MySQL来实现一个客户分类列表的管理,如何利用Ajax和Json技术让用户操作起来觉得更轻松,感兴趣的小伙伴们可以参考一下

在实际应用中,我们要管理一个客户分类,实现对客户分类的增加、删除和修改等操作,如何让这些操作变得更人性化,让用户操作起来更加方便成了我们必须研究的课题。

f8dc4143dd171c38e1d11d27b966753d.gif

准备阶段

您需要具备HTML和Jquery等前端知识,以及基本的PHP程序和MySql数据库相关知识。要实现本文中的DEMO示例,首先需要一个mysql数据库:

CREATE TABLE `catalist` (

`cid` int(11) NOT NULL auto_increment,

`title` varchar(100) NOT NULL,

`sort` mediumint(6) NOT NULL default '0',

PRIMARY KEY (`cid`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

其次在页面中引入jquery库,以及操作结果提示插件jNotify和删除确认插件hiAlert。后者两个插件在本站都有详细的讲解,读者可以通过链接了解下:

将需要准备的文件一并加入到index.php的

之间。

准备完毕我们进入主题。

index.php

index.php是主体页面,读取了数据库中的分类数据,以列表展示,并提供了增加、删除和修改的功能按钮。

include_once('connect.php'); //连接数据库

$query = mysql_query("select * from catalist order by cid asc");

while($row=mysql_fetch_array($query)){

$list .= "

".$row['title']."";

}

?>

以上代码通过读取数据表中的数据,返回一个列表字符串。然后我们要将字符串输出到对应的列表中,代码如下:

客户类别

新增一项

试着往数据表中添加几条数据,可以看到一个分类列表。

CSS

.input{width:160px; padding:2px; border:1px solid #d3d3d3}

.cur_tr{background:#ffc}

.selectlist{width:280px; margin:30px auto; border:1px solid #ccc;}

.selectlist h3{height:32px; line-height:32px; padding:0 4px; border-bottom:1px dotted #d3d3d3;

background:#f7f7f7}

.selectlist h3 span{float:right; font-weight:500}

.selectlist ul{margin-top:4px; margin-left:20px; list-style-type: disc}

.selectlist ul li{line-height:26px}

.selectlist p{line-height:28px; padding-left:6px}

.selectlist ul li span{width:20px; height:20px}

.selectlist ul li span.edit{ float:right;background:url(images/edits.gif) no-repeat 0 5px;

cursor:pointer}

.selectlist ul li span.del,.selectlist ul li span.dels,.selectlist ul li span.cancer{

float:right;background:url(images/del.gif) no-repeat 0 5px; cursor:pointer}

.selectlist ul li span.ok,.selectlist ul li span.oks{float:right;background:url(images/ok.gif)

no-repeat 0 5px; cursor:pointer}

CSS我就不详细讲解,看下就明白了,最终显示的效果如图:

64702898e286f8277563ab1901e29ed4.gif

新增项操作

在global.js加入addOpt()函数:

function addOpt(){

var str = "

";

$("#catalist").append(str);

}

通过单击“新增一项”链接,向DOM中添加了一个新增项的输入框。

当用户输入内容后,点击“保存”,将会触发一个ajax操作,先看代码:

$(function(){

//保存新增项

$(".ok").live('click',function(){

var btn = $(this);

var input_str = btn.parent().find('input').val();

if(input_str==""){

jNotify("请输入类别!");

return false;

}

var str = escape(input_str);

$.getJSON("post.php?action=add&title="+str,function(json){

if(json.success==1){

var li = "

"+

json.title+"

";

$("#catalist").append(li);

btn.parent().remove();

jSuccess("恭喜,操作成功!");

}else{

jNotify("出错了!");

return false;

}

});

});

});

首先获取用户输入的内容,如果没有输入任何内容则提示用户输入内容,然后将用户输入的内容进行escape编码,保证中文字符能正确传输给后台程序识别。然后通过$.getJSON方法向后台post.php发起一个异步的Ajax请求。后台post.php接收参数值并进行相关处理,前端代码通过响应后台返回的JSON数据,如果新增成功,则向列表后面追加一项,并提示用户“操作成功”,如果失败则提示用户“出错了”。

如果要取消新增项操作,只需当单击“取消”按钮时执行以下代码:

//取消新增项

$(".dels").live('click',function(){

$(this).parent().remove(); //将新增项移除

});

后台post.php需要处理新增项内容,代码如下:

include_once('connect.php'); //连接数据库

$action = $_GET['action'];

switch($action){

case 'add': //新增项

$title = uniDecode($_GET['title'],'utf-8');

$title = htmlspecialchars($title,ENT_QUOTES);

$query = mysql_query("insert into catalist (cid,title) values (NULL,'$title')");

if($query){

$insertid = mysql_insert_id($link);

$arr = array('id'=>$insertid,'title'=>$title,'success'=>1);

}else{

$arr = array('success'=>2);

}

echo json_encode($arr);

break;

case '':

break;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值