功能描述:
这只是项目中的小模块,项目中有几个栏目小说 期刊 综合,每个栏目都有书籍,在sns中,当登录用户,看到某本书的时候,可以点击放入我的书架,选择放入那个书架,每个书架可以放20本书,每个用户最多可以建10个书架。对放到书架上的书,可以在我的排序中自动拖动,而在其他的更新排序中按实际时间显示,用户不可以改变顺序,
数据库设计:
数据库主要用来保存放到书架中书籍的一些信息,封面 描述 地址 等,还有重要的 书架类别字段(用一个二维数组实现),每个书架有20个位置可以放书,可以设置一个字段,放书的时候是书的id ,没放书的就用0来表示,可以用一个二维数组,数组的key 用来放书架的类别,值用来放此类别中的信息,
数据库的操作:
数据库操作说明项目都是一样的CURL基本的操作,具体到本项目中,就是先添加,每个用户有一个默认数据,就是第一个数组,用户可以改变书架的名字就是数组的键值,对于每一个数组的操作,当加入此书架时,移动位置时 ,下架时,当向书架中添加书籍时还要判断此书架是否已经放满没有位置了,还有就是同一本书不能在一个书架中放入两次以上。对于整个字段,就是在添加书架类别的时候,新建一个数组,初始里面的数组,就是初始一个空书架。当添加书架的时候判断书架是否以超过最大数目(可以在前面页面根据等级控制用户可以创建书架的个数);create table bookshelf (uid int(11) ,shelf text);//创建书架表bookshelf
$arr = array('默认数据'=>'0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0');//插入默认书架的数据,一个数字,key 为书架名字,value为数据上的位置默认为空,
$text = serialize($arr);//序列化该数组
insert into bookshelf (uid shelf) values( "$text" ,'$uid');//插入初始化数据
//添加书架,书架'shelf1' 名字要唯一
$shelfs=select shelf from bookshelf where uid = '$uid';//查询出uid 的书架
$a = unserialize($shelfs);//反序列化书架得到数组,
for(int i=0;i<count($a);i++){//判断此书架是否存在
if($(a)[0]==shelf1){
return "此书架已存在";
}
return true;
}
$p = array('shelf1'=>'0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0');
$p = serialize($p);//插入新书架
insert into bookshelf shelf values ('$p') where uid = '$uid';
//添加书籍 book1 'bid1'到书架shelf1
$shelfs1 = select shelf from bookshelf where uid = '$uid';//
$b = unserialize($shelfs1);//
for(int i=0;i<count($b);i++){
if($b[i][0]=='$shelf1'){//得到要插入的书架
$pk = explode('-','$b[i][1]);
for(int num=1;num<count($pk[1]);num++){;/书架是否放满
if($pk[1][i]==0){
for(int k=1;k<count($pk);k++){//判断书架中是否有要插入的书
if($pk[i][1]=='$bid1'){
return '此书架已有此时';
}else{//书架中没有此书可以插入 默认插入到后面
if($pk[i][1]==0){
$pk[i][1]==$bid1;//插入数组
return implode("-",$pk[i]);//返回字符串
}
}else
return "此书架已放满";
}
//读取书架 用于在加入书架时显示的列表 书籍数量 存入一个数组中
$arr = new array();
$shlefs = select shelf from bookshelf where uid ='$uid';//
$ss = unsersize($shelfs);//反序列化书架信息
for(int nn=1;nn<count($ss);nn++){//把书架名字做key
$key =$ss[i][0];
$value=0;
$n = explode("-",$ss[i][1]);
for(int mm=1;mm<count($n);mm++){//得到此书架中的书数量
if($n[1] !=0){
$value++;
}
$arr[0]=$key;
$arr[1]=$value;
}
//移动书籍 把bid2 从5位置移动到8位置
$startpos = 2;
$endpos = 8;
if($startpos<0 || $startpos>20 || $endpos<0 || $endpos>20 || $startpos==$endpos)exit;
$shelf = $_db->fetch_first("select * from `sns_shelf` where `uid`={$uid}");
$shelf select shelf from bookshelf wher uid ='$uid';
$shelfs=unserisize($shelf);//
feach($shelfs as $key ,$value){
$array = explode("-",$value);
if($array[1] == 'bid2'){找到bid2所在的书架
if($sarry[1][$startpos]==0)exit;//如果开始位置没有书不交换
$temp = $sarry[1][$endpos];//交换位置
$sarry[1][$endpos]=$sarry[1][$startpos];
$sarry[1][$startpos]=$temp;
$val = implode("-",$value[1]);
$shelfs[1] = $val;
serialize($shelfsl);//序列化shelf
update bookshelf set shelf = shelfs where uid = '$uid';//更新
}
}
//下架书籍
分享到:
相关推荐
一、项目简介 本项目是一套基于JavaWeb实现的漫画网站前后台系统,主要针对计算机相关专业的正在...书架管理 系统管理 轮播管理:轮播添加、轮播查询等 详见 https://flypeppa.blog.csdn.net/article/details/137412305
使用Three.js做的一个3D书架,书架可以放大,缩小,拖拽和旋转,书架上有书,点击书本可以查看书本信息,并跳转到购买页面,想学习Three.js的朋友可以下载参考。将项目导入到eclipse里面,就可以运行了,内含完整...
在使用后台语言Java搭建实现动态加载前,大概的静态页面结构和样式 ## 目前利用JavaScript/JQuery实现的逻辑功能 * 插件xSlider实现轮播效果 * 点击书本分类实现滚动条平滑滑动 * 书本分类菜单的伸缩 * 编辑页获取...
前台 在线阅读看小说 收藏评价 书城书架个人中心 后台发布小说等信息内容 书城书架个人中心
用户端:首页-发现-会员卡-书架-我的 用户端:用户可进行租书-购卡-会员卡等等功能; 门店端包含:首页-订单-我的 门店端:可以查看每日的借阅数和订单-每日的销量数和对应的订单-可查看订单管理-以及对库存的...
管理员在后台可以全面管理系统,管理员的功能主要包括用户管理、新闻管理、书籍管理和评论管理等。 用户的功能需求: 用户在没有注册之前,进入网站,用户的主要功能包括查看网站首页、公告信息、书籍分类和书籍信息...
管理员在后台可以全面管理系统,管理员的功能主要包括用户管理、新闻管理、书籍管理和评论管理等。 用户的功能需求: 用户在没有注册之前,进入网站,用户的主要功能包括查看网站首页、公告信息、书籍分类和书籍信息...
管理员在后台可以全面管理系统,管理员的功能主要包括用户管理、新闻管理、书籍管理和评论管理等。 用户在没有注册之前,进入网站,用户的主要功能包括查看网站首页、印章信息、书籍分类和书籍信息,用户在注册登录...
后台服务器端采用spring+springmvc+mybatis框架整合。 前端页面使用bootstrap+jquery+layui等框架以及ajax技术。 数据库使用了轻量级mysql关系数据库。 小说数据源是顶点小说网,使用java的jsonp进行爬取。 本...
本系统为基于jsp+ssm+mysql的牛码小说网,包含用户和管理员登录,功能如下: 用户:注册、登录系统,分类查看小说,小说详情,加入书架,推荐,收藏,评论小说;个人中心具有我的资料、我的书架、我的收藏、我的推荐...
使用的开发软件学习: 服务端:MyEclipse 客户端:AndroidStudio 数据库:mysql 说明:源码中有代码所需的软件以及配置说明视频 功能描述: ...2:用户登录成功后可以查看...5:后台可以对书籍信息以及分类信息进行管理
3.书架模块:小说信息 更新时间 作者 最后阅读时间 4.读者模块:个人信息 账户余额(充值,查看消费记录) 5.作者模块:注册 作品管理(包括发书 写作等) 后台 1.登陆界面:管理员登陆 2.小说管理:与前台相同(查询...
管理员在后台可以全面管理系统,管理员的功能主要包括用户管理、新闻管理、书籍管理和评论管理等。 用户在没有注册之前,进入网站,用户的主要功能包括查看网站首页、公告信息、书籍分类和书籍信息,用户在注册登录...
管理员在后台可以全面管理系统,管理员的功能主要包括用户管理、新闻管理、书籍管理和评论管理等。 用户在没有注册之前,进入网站,用户的主要功能包括查看网站首页、公告信息、书籍分类和书籍信息,用户在注册登录...
管理员在后台可以全面管理系统,管理员的功能主要包括用户管理、新闻管理、书籍管理和评论管理等。 用户的功能: 用户在没有注册之前,进入网站,用户的主要功能包括查看网站首页、公告信息、书籍分类和书籍信息,...