新闻管理系统的项目
工具类
import pymysql # 导入数据库驱动模块!
class DBUtil():
#db = MysqlHelper('39.98.39.173',13306,'root','root','1909C2')
def __init__(self,host,port,user,passwd,db,charset='utf8'):
self.host= host
self.port = port
self.user = user
self.passwd = passwd
self.db = db
self.charset=charset
#self.conn = None
def connect(self):
'''功能1: 获取连接'''
self.conn = pymysql.connect(host=self.host,port=self.port,user=self.user,passwd=self.passwd,db=self.db,charset=self.charset)
self.cursor =self.conn.cursor()
def close(self):
'''功能2:释放资源'''
self.cursor.close() #关游标
self.conn.close()# 关连接
def my_execute(self,sql,params):
'''
增删改通用功能
:param sql: sql语句
:param params: 参数列表
:return: num 影响行数
'''
num =0
# 1. 打开连接
self.connect()
num = self.cursor.execute(sql,params)
self.conn.commit()
self.close() #释放资源
return num
def my_executemany(self,sql,params):
'''
通用批量插入
:param sql: sql语句
:param params: 参数列表[(),(),]
:return: num 影响行数
'''
num =0
# 1. 打开连接
self.connect()
num = self.cursor.executemany(sql,params)
self.conn.commit()
self.close() #释放资源
return num
def get_one(self,sql,params):
'''
查询1条
:param sql: sql语句
:param params: 参数列表
:return: 1条结果
'''
result =None
#1.打开链接
self.connect()
# 2.执行查询
self.cursor.execute(sql,params)
# 3 逐行抓取
result = self.cursor.fetchone()
#4.释放资源
self.close()
return result
def get_all(self, sql, params):
'''
查询所有
:param sql: sql语句
:param params: 参数列表
:return: 1条结果
'''
result = ()
self.connect()
self.cursor.execute(sql, params)
result = self.cursor.fetchall()
self.close()
return result
主要代码
from db_util import DBUtil
from datetime import datetime
import datetime
import random
today_1 = datetime.date.today()
def menu():
'''登陆菜单'''
print('1. 登陆')
print('2. 注册')
def admin_menu():
print("1.添加新闻")
print("2.删除新闻")
print("3.修改新闻")
print("4.退出")
def yonghu_menu():
print("1.根据关键字查询新闻")
print("2.新闻序号查询新闻")
print("3.按照类型查看新闻")
print("4.退出")
def zhuce():
num = input("请输入您的密码")
if len(num)<6:
print("密码必须是6位数")
str_2 = ''
while 1:
num_1 = str(random.randint(1,10))
str_2 += num_1
if len(str_2)==4:
print(f'您的账号是{str_2}')
break
quanxian = input("请输入您要注册的权限 1代表管理员,2代表普通人")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
sql ="insert into dome_1 values(default ,%s,%s,%s)"
parms = (str_2,num,quanxian)
result =db.my_execute(sql,parms)
if result is not None:
print("注册成功")
def login():
'''登陆功能'''
# 创建数据库对象
name = input("请输入您的账号")
pwd = input("请输入您的密码")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
sql ="select * from dome_1 where users =%s and passwd =%s"
params =[name,pwd]
result =db.get_one(sql,params)
if result is not None:
print("登录成功")
quanxian(name,pwd)
def quanxian(name,pwd):
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
sql = "select quanxian from dome_1 where users = %s and passwd = %s"
params = [name,pwd]
result = db.get_one(sql,params)
if '1' in result:
print("欢迎您,管理员")
while 1:
admin_menu()
num = input("请输入您要执行的操作")
if num == "1":
add_new()
elif num == "2":
del_new()
elif num == "3":
update_new()
elif num == "4":
break
elif '2' in result:
while 1:
yonghu_menu()
num = input("请输入您要执行的操作")
if num == '1':
select_1()
elif num == "2":
select_2()
elif num == "3":
type()
elif num == "4":
break
else:
print("输入错误")
'''管理员的方法'''
def add_new():
'''增加新闻'''
title = input("请输入新闻的标题")
author = input("请输入作者的名字")
type = input("请输入新闻的类型")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
sql = "insert into new_1(title,creat_time,author,type_1,count_1) values (%s,%s,%s,%s,%s)"
params = [title,today_1,author,type,1]
result = db.my_execute(sql,params)
if result is not None:
print("增加成功")
def del_new():
'''删除新闻'''
title = input("请输入要删除的新闻")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
sql = "delete from new_1 where title = %s"
parms = [title]
result = db.my_execute(sql,parms)
if result is not None:
print("删除成功")
def update_new():
title = input("请输入要修改的新闻的标题")
new_title = input("请输入新的标题")
new_author = input("请输入新的作者")
type = input("请输入新的类型")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
sql = "update new_1 set title = %s, author = %s,type_1 = %s where title = %s"
parms = [new_title,new_author,type]
result = db.my_execute(sql,parms)
if result is not None:
print("修改成功")
'''用户的方法'''
def select_1():
title = input("请输入要查询的标题关键字")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
parm = '%' + title + '%'
sql = "select * from new_1 where title like '%s'" % parm
# parm = [title]
result = db.get_all(sql, None)
for i in result:
result_1 = int(i[5]) + 1
result_3 = int(i[0])
sqlq = 'update new_1 set count_1 = %s where id = %s'
parms = [result_1,result_3]
result_2 = db.my_execute(sqlq,parms)
if result is not None:
print(result)
else:
print("无此新闻")
def select_2():
id = input("请输入要查询的新闻的id")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
sql = 'select * from new_1 where id = %s'
parm = [id]
result = db.get_one(sql,parm)
# result_1 = int(result[5]) + 1
# sqlq = 'update new_1 set count_1 = %s'
# parms = [result_1]
# result_2 = db.my_executemany(sqlq, parms)
result_1 = int(result[5]) + 1
result_3 = int(result[0])
sqlq = 'update new_1 set count_1 = %s where id = %s'
parms = [result_1, result_3]
result_2 = db.my_execute(sqlq, parms)
if result is not None:
print(result)
else:
print("无此新闻")
def type():
type= input("请输入要查询的类型")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
sql = 'select * from new_1 where type_1 = %s'
parm = [type]
result = db.get_all(sql, parm)
if result is not None:
print(result)
else:
print("无此新闻")
for i in result:
result_1 = int(i[5]) + 1
result_3 = int(i[0])
sqlq = 'update new_1 set count_1 = %s where id = %s'
parms = [result_1,result_3]
result_2 = db.my_execute(sqlq,parms)
while 1:
menu()
num = input("请输入您要执行的操作")
if num == "2":
zhuce()
elif num == "1":
login()
建表
1.
2.
你的意见促使我改变

浙公网安备 33010602011771号