将查询结果赋值给users
使用params=Locals()传递给HTML页面,
在页面中,使用循环,接收数据:
{% for u in params.users %}
<li>
<div class="gold-list-row-1">{{u.id}}</div>
<div class="gold-list-row-2">{{u.name}}</div>
<div class="gold-list-row-3">{{u.sfzh}}</div>
<div class="gold-list-row-4">{{u.age}}</div>
<div class="gold-list-row-5">{{u.gender}}</div>
</li>
{% endfor %}
=========================
方法二:直接使用pymysql 执行SQL语句
将查询结果赋值给users,由于结果里users包含的是元组,前台调用时使用
{{u[0]}}
{{u[1]}}
{{u[2]}}
...
HTML是无法读取数据库的,HTML是页面前端脚本语言,要想从HTML网页中获取SQL数据库里的数据,需要借助JSP或ASP或PHP或RUBY等语言来实现。简单的关系可以这样理解:
数据库<--->JSP或ASP或PHP或RUBY等语言<--->HTML
如:在JSP页面中显示完整代码如下:
<%@ page
language="java"
contentType="text/htmlcharset=UTF-8"
pageEncoding="UTF-8"
%>
<%@page import="java.sql.*"%>
<center>
<H1><font color="blue" size="12">管理中心</font></H1>
<HR />
<table width="80%" border="1">
<tr>
<th>ID</th>
<th>书名</th>
<th>作者</th>
<th>价格</th>
<th>删除</th>
</tr>
<%
// 数据库的名字
String dbName = "zap"
// 登录数据库的用户名
String username = "sa"
// 登录数据库的密码
String password = "123"
// 数据库的IP地址,本机可以用 localhost 或者 127.0.0.1
String host = "127.0.0.1"
// 数据库的端口,一般不会修改,默认为1433
int port = 1433
String connectionUrl = "jdbc:sqlserver://" + host + ":" + port + "databaseName=" + dbName + "user=" + username
+ "password=" + password
//
//声明需要使用的资源
// 数据库连接,记得用完了一定要关闭
Connection con = null
// Statement 记得用完了一定要关闭
Statement stmt = null
// 结果集,记得用完了一定要关闭
ResultSet rs = null
try {
// 注册驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
// 获得一个数据库连接
con = DriverManager.getConnection(connectionUrl)
String SQL = "SELECT * from note"
// 创建查询
stmt = con.createStatement()
// 执行查询,拿到结果集
rs = stmt.executeQuery(SQL)
while (rs.next()) {
%>
<tr>
<td>
<%=rs.getInt(1)%>
</td>
<td>
<a href="prepareupdate?ID=<%=rs.getInt("ID")%>" target="_blank"><%=rs.getString(2)%></a>
</td>
<td>
<%=rs.getString(3)%>
</td>
<td>
<%=rs.getString(4)%>
</td>
<td>
<a href="delete?ID=<%=rs.getInt("ID")%>" target="_blank">删除</a>
</td>
</tr>
<%
}
} catch (Exception e) {
// 捕获并显示异常
e.printStackTrace()
} finally {
// 关闭我们使用过的资源
if (rs != null)
try {
rs.close()
} catch (Exception e) {}
if (stmt != null)
try {
stmt.close()
} catch (Exception e) {}
if (con != null)
try {
con.close()
} catch (Exception e) {}
}
%>
</table>
<a href="insert.jsp">添加新纪录</a>
</center>
要把查出来的数据放到前台html页面上,就需要把数据以json的方式,传递到前台,之后,前台解析json数据。把数据放到相应的位置上去。至于图片,数据库存储图片的相对路径就可以了,到时候,界面通过相对路径去找图片,并显示出来!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)