美文网首页
20、程序功能设计相关

20、程序功能设计相关

作者: hello大象 | 来源:发表于2017-12-22 06:30 被阅读0次
    Q:
    知识点:能不能根据功能去设计表...

    数据表设计:

    1、根据功能分析数据表结构



    id:通常情况要存一个主键、将来可以对数据进行增删改查操作。
    留言标题:留言一般必备同理,留言内容和时间也应该设计进来,
    留言人:因为需求有用户在线存储这个功能,所以要有这个字段
    这道题主要考察留言板的一个设计,并没有考察用户系统设计。注意要切题。
    根据设计创建sql语句:



    id自增主键、title varchar类型120长度、
    created_at是创建时间,用int类型保存,存储成时间戳,注意的是如果用timestemp存的话只能存成它自己的固定格式的时间戳,对我们的时间戳不友好,也不太好计算,所以这里面可以用php获取到的时间戳存储进来,相对来说好处理。

    把user_name创建索引,索引名为message_user_name,因为考虑到将来会大量的根据用户名查询相应的留言信息。所以创建对应的索引
    表引擎推荐使用innoDB,默认的CHARSET是utf8

    选择php去操作这张表的方式

    整体来说,php连接数据库的方式分三大类:PDO、MySQLi、MySQL

    其中:
    mysqli效率高于pdo


    总体来说推荐PDO,因为其扩展性比较好。将来换其他库,也是没什么问题的,而且对于PDO来说,里面的一些方法也是比较完善的,相比PDO mysqli的扩展性稍差些。

    编码能力:


    首先要new一个PDO的核心类,这里面选择dsn,用户名,密码,属性。然后编写sql,根据sql语句来做预处理,prepare,最终execute来执行。如果是查询操作,需要调用fetchall,将数据查询出来,遍历出来


    解答方法:


    查看创建的表结构:


    完成留言板插入功能:

    模板页面form.html


    PHP文件:store.php

    添加成功:



    Q:



    最多是设计数据表就可以了,有时间实现以下怎么完成操作:对于一张这样的表设计有以下方式:
    第一种方式加一个pid,所谓无限就是可以在这张表存n级的分类,如图:可以根据pid找到父级,pid关联主键id,这样就把级别体现的很明白,最少只需要三个字段实现。

    也可以在后面加个path路径,帮助进行显示顺序。若不加path,想实现级别顺序显示,需要递归实现。不想使用递归,则加path字段。父级的path路径-自己的id,然后order by path就行了。


    相关文章

      网友评论

          本文标题:20、程序功能设计相关

          本文链接:https://www.haomeiwen.com/subject/onagwxtx.html