当前位置: 首页 > news >正文

dw做的网站上传昆明餐饮网站建设

dw做的网站上传,昆明餐饮网站建设,软件设计包括哪些内容,广州网站设计总部投票系统 数据库的建立 先分析需求,在sql中建立数据库,关于项目数据库如何建立可以在“goweb项目创建流程分析中看如何去建表” 成功后目前有四个表: vote,user,vote_opt,vote_opt_user 建立数据库,可以…

投票系统

数据库的建立

先分析需求,在sql中建立数据库,关于项目数据库如何建立可以在“goweb项目创建流程分析中看如何去建表”

成功后目前有四个表:

vote,user,vote_opt,vote_opt_user

image-20231120163637699

建立数据库,可以使用网上的sql转gorm网站,把建表语句直接转换成结构体,

放在model下的model.go文件下,作为全部数据库存放处

package modelimport "database/sql"//这里存放各种gorm建表语句type VoteOptUser struct {Id         sql.NullInt64  `gorm:"column:id;primary_key;AUTO_INCREMENT"`UserId     sql.NullInt64  `gorm:"column:user_id"`VoteId     sql.NullInt64  `gorm:"column:vote_id"`VoteOptId  sql.NullInt64  `gorm:"column:vote_opt_id"`CreateTime sql.NullString `gorm:"column:create_time"`UpdateTime sql.NullString `gorm:"column:update_time"`
}func (v *VoteOptUser) TableName() string {return "vote_opt_user"
}type VoteOpt struct {Id          sql.NullInt64  `gorm:"column:id;primary_key;AUTO_INCREMENT"`Name        sql.NullString `gorm:"column:name"`VoteId      sql.NullInt64  `gorm:"column:vote_id"`Count       sql.NullInt32  `gorm:"column:count"`CreatedTime sql.NullString `gorm:"column:created_time"`UpdateTime  sql.NullString `gorm:"column:update_time"`
}func (v *VoteOpt) TableName() string {return "vote_opt"
}type Vote struct {Id          sql.NullInt64  `gorm:"column:id;primary_key;AUTO_INCREMENT"`Title       sql.NullString `gorm:"column:title"`Type        sql.NullInt32  `gorm:"column:type;comment:'0是单选1是多选'"`Status      sql.NullInt32  `gorm:"column:status;comment:'0开放1超时'"`Time        sql.NullInt64  `gorm:"column:time;comment:'有效时长'"`UserId      sql.NullInt64  `gorm:"column:user_id;comment:'创建人是谁'"`CreatedTime sql.NullString `gorm:"column:created_time;comment:'创建时间'"`UpdatedTime sql.NullString `gorm:"column:updated_time;comment:'更新时间'"`
}func (v *Vote) TableName() string {return "vote"
}type User struct {Id          sql.NullInt64  `gorm:"column:id;primary_key;AUTO_INCREMENT"`Name        sql.NullString `gorm:"column:name"`Password    sql.NullString `gorm:"column:password"`CreatedTime sql.NullString `gorm:"column:created_time"`UpdateTime  sql.NullString `gorm:"column:update_time"`
}func (u *User) TableName() string {return "user"
}

建立完成,可以先测试是否成功

image-20231120164752983

测试:

在model中建立:vote,model_test文件,测试数据库是否连接成功,能否查出数据

//model_text测试文件:
package model
import ("fmt""testing"
)
func TestGetVotes(t *testing.T) { //该方法测试vote是否生效NewMysql() //连接数据库//测试用例r := GetVotes() //查询方法fmt.Printf("ret:%+v", r)//%+v 是一个格式化占位符,表示以“扩展”格式输出变量的值。对于结构体(struct)类型的变量,%+v 会输出字段名和字段值。//和%v区别:通用的格式化占位符,根据变量的实际类型进行格式化输出。对于结构体,它会输出字段的值,但不会包括字段名。Close()
}
//vote文件:其实和user文件中方法基本一致,都是封装查表方法
package modelimport "fmt"func GetVotes() []Vote { //该方法会输出Vote切片类型的值//封装查询方法,查询投票项目的详情ret := make([]Vote, 0) //定义ret为切片类型,0表示长度为0,内部存放具体值为vote类型err := Conn.Table("vote").Find(&ret).Errorif err != nil {fmt.Printf("err:%s", err.Error())}return ret
}

当在vote中加入数据:

image-20231120165210734

再在test方法中测试:输出

image-20231120165335067

(后边没截完)

因为ret是切片类型,所以能同时查多条记录,测试完成,可以写逻辑层和router层代码啦!!!

将所有表名展示到网页上

首先先试试把vote的Title展示到页面上:

将index.tmpl代码改为:

写模板文件
<!doctype html>
<html lang="en">
<head><title>香香编程-投票项目</title>
</head>
<body>
<main>{{range $key,$value := .vote}}<h2>{{$value.Title}}</h2>{{/*        用模板写出只要所有ret的title*/}}{{end}}
</main>
</body>
</html>

逻辑层下

func Index(context *gin.Context) {ret := model.GetVotes()context.HTML(http.StatusOK, "index.tmpl", gin.H{"vote": ret})
}
加载模板文件,传入的.表示ret,即整个查到的vote数据

效果展示:

数据库

image-20231120174403074

一个简单的投票表名展示就做好了,

按照这个思路,我们可以设置点击表名,查看每个表的具体数据

http://www.yayakq.cn/news/644313/

相关文章:

  • 坪山附近公司做网站建设哪家效益快兰州网站开发公司
  • 怎么做网站图片链接做网站要遵守的基本原则
  • 做php网站用什么软件广州软件开发工资怎么样
  • 中国做跨境电商出口的网站嵌入式软件开发工程师简历
  • ps网站设计概述高唐建筑公司网站
  • 织梦网站入侵软件开发服务平台
  • 网站模板怎样发布网页游戏开服表好吗
  • 佛冈网站建设网站开发工程师是做什么的
  • 网站开发质量控制计划书传媒公司主要做什么
  • 栾川网站建设专业搜索引擎seo服务商
  • 网站图片模板源码简述制作网站的步骤和过程
  • 做外贸去哪个网站找客户网站文章内容排版要求
  • 免费wordpress采集插件郑州seo技术培训班
  • 专业手机网站开发网站模板大全官网
  • 三三网是什么网站页面设计理念说明
  • 改图网网站谁做的注册企业查询
  • 北京网站设计与制作公司北京西站进站最新规定
  • 酒泉网站建设与制作王烨老师
  • 个人网站是否需要备案网站虚拟主机内存不足能不能链接
  • 网站特殊字体建设网站图片素材
  • 了解营销型企业网站建设百度收录哪个网站多
  • 怎么做qq刷会员的网站网站 js 广告代码大全
  • 国外做美食的网站棋牌类网站是用游戏方式做的吗
  • qq空间域名抢注网站网件路由器初始密码
  • 江苏连云港做网站设计平台市场分析
  • 哪里有免费的网站域名系统页面设计的原则
  • 曹县网站开发淘宝网店怎么注册开店
  • 太原网站建设制作机构wordpress 删除重复
  • 聊城制作手机网站网站开发工程师中级高级
  • 平台网站建设公司哪家好用dw制作网站模板下载地址