图书馆信息管理系统——总结

蚊子前端博客
发布于 2012-08-05 06:00
最近闲着没事就自己弄了个图书馆的信息管理系统,写的比较差,不过确实学到了很多的东西。就在这里把编写系统的过程中遇到的问题和见解记录下吧

最近闲着没事就自己弄了个图书馆的信息管理系统,写的比较差,不过确实学到了很多的东西。就在这里把编写系统的过程中遇到的问题和见解记录下吧。

1. 无刷新登录

每个人在该系统中都有一个自己的个人中心,于是我就在首页上写了一个登陆框,可是登陆框仅仅是首页上一个小小的部分,换句话说,这个登陆框是嵌入在首页的,于是这个登录就必须是无刷新登录。在这个部分中,我使用了 php+jquery+ajax,就能够完成了无刷新登录了。可是我还是遇到了一个小小的问题,当我登录完成后,这个登录界面就得换成其他的界面,提示用户已经登录成功,而且不管刷新多少次该页面,都不能回到登录界面。于是我就在这里用了一个很笨的方法。当用户能够登录成功时,显示登陆后的界面,这个是用 js 来控制的。在首页上,我还有一个选择是用 session 来控制的。登录成功后,我会在session["login"]中存储该用户的用户名,在首页上就判断 session["login"]是否存在,如果不存在依然显示登陆框,否则显示登录后的界面。

2. 既要显示标题还要能在点击该标题

同一个界面既要显示标题还要能在点击该标题后,能够显示具体的内容。这个功能是我在新闻发布模块的时候用到的,这个功能是用 url 中的变量值来进行判定的。当首次进入新闻中心的这个界面时,url 为 news.php,当点击某个标题时,就会跳转到 news.php?nid=1. 在代码中获取 nid 的值,如果不存在就会显示新闻的标题,如果存在就显示某个新闻的具体内容。

3. 无刷新分页

这个是老生常谈了,虽然网上有很多的代码,可是当自己写的时候,才会发现还是有很多的问题的。我在上一篇的文章里写了,这里就不多说了。

4. 多条件组合查询

这部分在该系统已经不是什么问题了,因为我以前写另一个东西的时候就已经解决了。这个很好理解的,当点击查询按钮的时候,不管这些条件时候为空,都一并传到后台,当后台接收到数据并赋值给某个变量,然后进行 where 语句拼接,如果哪个变量不为空(即前台需要的查询条件),就把该变量拼接起来,很抽象么?

COPYPHP

$book_title = $_REQUEST["book_title"]; $book_author = $_REQUEST["book_author"]; $book_class = $_REQUEST["book_class"]; $book_pub = $_REQUEST["book_pub"]; //查询条件组合 $where=""; if($book_title){ $where .= "title LIKE '%$book_title%' and "; } if($book_author){ $where .= "author LIKE '%$book_author%' and "; } if($book_class){ $where .= "classified LIKE '%$book_class%' and "; } if($book_pub){ $where .= "publishHouse LIKE '%$book_pub%' and "; } //如果where不为空,去掉最后的and和两边的空格 if($where){ $where = "where ".rtrim($where," and "); }

当 where 语句组合完成后执行 sql 语句就行了。

还有就是特别要注意的是,在每个完整的页码内,要加上 w3c 标准,否则某些浏览器解析元素的时候会发生变形的。

标签:
阅读(736)

公众号:

qrcode

微信公众号:前端小茶馆

公众号:

qrcode

微信公众号:前端小茶馆