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 ?
背景: 前段时间在百度经验看到一篇文章<如何在电脑右下角显示你(爱人)的名字>,之前也听过这个小技巧,但没真正动手设置过.所以出于好奇就实践了一下. 设置完成后的效果例如以下.右下角的时间 ...
随机推荐
- 流量操控之SSH隧道与端口转发
目 录 第1章 概述... 3 1.1. 实现命令... 3 1.2. SSH隧道类型... 3 第2章 SSH隧道... ...
- WPF系列教程——(三)使用Win10 Edge浏览器内核 - 简书
原文:WPF系列教程--(三)使用Win10 Edge浏览器内核 - 简书 在需要显示一些 H5网站的时候自带的WebBrowser总是显示不了,WebBrowser使用的是IE内核,许多H5新特性都 ...
- android 文件下载 超简单
public void downloadPlug(String downloadUrl,String savePath) { try { URL url = new URL(downloadUrl); ...
- hadoop中namenode发生故障的处理方法
Namenode 故障后,可以采用如下两种方法恢复数据: 方法一:将 SecondaryNameNode 中数据拷贝到 namenode 存储数据的目录: 方法 二: 使用 -importCheckp ...
- Lambda与LINQ
Lambda与LINQ写法对比: 上为Lambda 下为LINQ 显示指定列 Students.select(u=>(new {Name=u.Sname,Address=u.Saddress}) ...
- Node应用进程管理器pm2的使用
本文转载自:豆瓣-PM2介绍 更多内容见github上的pm2说明文档pm2 pm2 是一个带有负载均衡功能的Node应用的进程管理器. 当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程 ...
- Space Shooter 太空射击
1.控制玩家移动 public float speed = 10f; public float xMin = -6.5f; public float xMax = 6.5f; public float ...
- django-settings里redis连接与缓存配置
# Django-redis的缓存配置 CACHES = { "default": { "BACKEND": "django_redis.cache. ...
- codebolocks 中文使用手册1.1
Code::Blocks手册 使用篇 中文翻译版- 原手册下载:http://www.codeblocks.org/docs/manual_en.pdf 译者:JGood 译者言:工欲善其事,必先利其 ...
- A. Vasya and Book
题目原址 http://codeforces.com/contest/1082/problem/A 题目内容 一共n页书,现在位于第x位,想要看第y页,每次只能翻d页,注意总能翻到第1页和第n页. V ...