ajax上传图片到数据库中(不会即时显示)
一共三个页面
数据表结构
数据表内容
第一个页面 nicheng.html
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>
我的
</title>
<!--
下面的jquery文件在谷歌浏览器中显示,请使用谷歌浏览器查看结果
-->
<script src="https://weui.io/zepto.min.js">
</script>
<script>
$(function() {
$('#showTooltips').click(function() {
//我这里单独拿出来判断昵称个签是否为空
var nicheng = $('#nicheng').val();
var geqian = $('#geqian').val();
if (nicheng == "") {
alert("请填入昵称");
return false;
}
if (geqian == "") {
alert("请填入个签");
return false;
} var data = new FormData($('#form1')[]);
$.ajax({
type: "POST",
url: "nichengtest.php",
dataType: "json",
data: data,
processData: false,
contentType: false,
success: function(data) {
if (data.code == ) {
alert(data.msg);
} else {
alert(data.msg);
}
},
});
});
});
</script>
</head>
<body>
<form id="form1">
<div>
<div>
<label>昵称</label>
</div>
<div>
<input id="nicheng" name="nicheng" type="text" placeholder="请输入昵称">
</div>
</div>
<div>
<div>
<label>个性签名</label>
</div>
<div>
<input id="geqian" name="geqian" type="text" placeholder="请完善你的个签吧">
</div>
</div>
<div>
<div>
<label>图片</label>
</div>
<div>
<input id="tupian" name="tupian" type="file" placeholder="选择文件">
</div>
</div>
<div>
<a href="javascript:" id="showTooltips">确定
</a>
</div>
</form>
</body> </html>
第二个页面nichengtest.php
<?php
require ("mysql_class.php");
$db = new Mysql("localhost", "root", "", "userdb");
if (isset($_POST["nicheng"]) && isset($_POST["geqian"])) {
$nicheng = $_POST['nicheng'];
$geqian = $_POST['geqian'];
//图片的二进制数据
$image = mysql_escape_string(file_get_contents($_FILES['tupian']['tmp_name']));
//图片的类型
$type = $_FILES['tupian']['type'];
define("TABLENAME", "user_nicheng");
define("COL", "(nicheng,geqian,type,binarydata)");
define("VAL", "('$nicheng','$geqian', '$type','$image')");
if (!$db -> isnull2($nicheng, $geqian)) {
$data = array("code" => , "msg" => "参数为空", );
die(json_encode($data));
} else {
$insert = $db -> insert(TABLENAME, COL, VAL);//插入昵称,个签,图片信息 }
$data = array("code" => , "msg" => "发布成功", );
die(json_encode($data));
}
?>
第三个页面mysql_class.php
<?php
header("content-type:text/html;charset=utf-8");
class Mysql {
private $host;
//服务器地址
private $root;
//用户名
private $password;
//密码
private $database;
//数据库名 //通过构造函数初始化类
function Mysql($host, $root, $password, $database) {
$this -> host = $host;
$this -> root = $root;
$this -> password = $password;
$this -> database = $database;
$this -> connect();
} function connect() {
$this -> conn = mysql_connect($this -> host, $this -> root, $this -> password);
// if($this->conn){
// echo "连接mysql成功";
// }else{
// echo "连接mysql失败";
// }
// $this->conn=
mysql_select_db($this -> database, $this -> conn);
// if($this->conn){
// echo "连接db成功";
// }else{
// echo "连接db失败";
// }
mysql_query("set names utf8");
} function dbClose() {
mysql_close($this -> conn);
} function query($sql) {
return mysql_query($sql);
} function row($result) {
return mysql_fetch_row($result); } function arr($result){
return mysql_fetch_array($result);
}
function num($result){
return mysql_num_rows($result);
} function select($tableName, $condition) {
return $this -> query("SELECT COUNT(*) FROM $tableName $condition");
}
function selectsql($tableName) {
return $this -> query("SELECT * FROM $tableName");
}
function insert($tableName, $fields, $value) {
$this -> query("INSERT INTO $tableName $fields VALUES$value");
} } ?>
一篇即时显示的ajax代码
http://blog.csdn.net/fdipzone/article/details/38910553
ajax上传图片到数据库中(不会即时显示)的更多相关文章
- 网络采集软件核心技术剖析系列(6)---将任意博主的全部博文下载到SQLite数据库中并通过Webbrower显示(将之前的内容综合到一起)
一 本系列随笔目录及本节代码下载 自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受广大博客写作和阅读爱好者的喜爱.同时也不乏一些技术爱好者咨询我,这个软件里面各种实用的功能是如何实现的. 该软 ...
- JDBC方式从数据库中查询数据并显示
1.创建数据库表myuser DROP TABLE IF EXISTS `myuser`; CREATE TABLE `myuser` ( `) NOT NULL COMMENT '姓名', `id` ...
- 用JSP从数据库中读取图片并显示在网页上
<1>先在mysql下建立如下的table. 并insert图像. mysql.sql文件如下: CREATE TABLE photo ( photo_no int(6) unsigned ...
- 在JSP中上传图片到数据库中
第一步:建立数据库 create table test_img(id number(4),name varchar(20),img long raw); 第二步:(NewImg.html) <h ...
- 【JSP】上传图片到数据库中
第一步:建立数据库 create table test_img(id number(4),name varchar(20),img long raw); 第二步:(NewImg.html) <h ...
- 向mysql数据库中插入数据时显示“Duplicate entry '1′ for key ‘PRIMARY' ”错误
错误情况如题,出现这个错误的原因十分简单: 很明显,这是主键的问题. 在一张数据表中是不能同时出现多个相同主键的数据的 这就是错误的原因,解决的方法: 1.可以将这张表设置成无主键(mysql支持,其 ...
- EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)
本来原来学的时候,挺顺利的,没想到再次使用,还是遇到很多问题,导致更新失败,所以,只能重建迁移,免得看着乱乱的. 一.删除迁移,将数据恢复到(一)结束状态 1.删除文件夹 2.删除表 3.删除列 4. ...
- PHP中将数据库中的数据显示在网页
最近没事把以前的东西感觉还可以的又简单的看了以下,因为还在学习新的东西,所以,发表的博客也不是很多,也许是有感而发吧. 这次讲的是mysql数据库中的数据使用php如何显示在网页中.首先,先建好自己的 ...
- 数据库中存储日期的字段类型究竟应该用varchar还是datetime ?
背景: 前段时间在百度经验看到一篇文章<如何在电脑右下角显示你(爱人)的名字>,之前也听过这个小技巧,但没真正动手设置过.所以出于好奇就实践了一下. 设置完成后的效果例如以下.右下角的时间 ...
随机推荐
- Git-Git里程碑
里程碑即Tag,是人为对提交进行的命名.这和Git的提交ID是否太长无关,使用任何数字版本号无论长短,都没有使用一个直观的表意的字符串来得方便.例如:用里程碑名称"v2.1"对应于 ...
- Struts2---数据封装机制
Struts2属性驱动和模型驱动 自动完成了数据的获取和封装 LoginAction.java public class LoginAction implements ModelDriven<U ...
- Linux(CentOS)下SVN命令使用实例[转]
原文出处: http://blog.csdn.net/limingzhong198/article/details/22394809 前言:关于Linux(Unix)系统下的SVN命令使用的文章,在网 ...
- 《Cracking the Coding Interview》——第12章:测试——题目2
2014-04-24 23:15 题目:你有一段程序,运行了十次每次都在不同的地方崩掉了.已知这段程序只用了标准C或C++库函数,请问有什么思路来找出问题所在. 解法:1. 时间戳每次都不同.2. 随 ...
- selenium定位弹出菜单
写selenium脚本,在浏览器定位各种弹出菜单时,有时用工具很难去取菜单的属性,下面说下如何去取: 点开firebug ,切换到“脚本”界面,首先在输入框输入单字母s,待弹出下拉列表后,单击左侧的插 ...
- python中subprocess.Popen执行命令并持续获取返回值
先举一个Android查询连接设备的命令来看看Python中subprocess.Popen怎么样的写法.用到的命令为 adb devices. import subprocess order='ad ...
- 一个初学者的辛酸路程-基于Django写BBS项目
前言 基于Django的学习 详情 登录界面 找个模板 http://v3.bootcss.com/examples/signin/ 右键,检查源码 函数 def login(request) ...
- python3.x 安装命令
在root下执行下面的命令即可: sudo apt-get install python3-dev build-essential libssl-dev libffi-dev libxml2 libx ...
- CodeForces-999D Equalize the Remainders
题目链接 https://vjudge.net/problem/CodeForces-999D 题面 Description You are given an array consisting of ...
- parameter localparam define的区别
`define 语法格式 `define A 12 //注意不加:不能忘记" ` " 作用区域 在整个工程中均有效,因为它是可以跨模块的定义 parameter 和 localpa ...