php+Ajax 例子
PHP
<?php
$action = $_GET['action'];
switch ($action) {
case 'init_data_list':
init_data_list();
break; case 'add_row':
add_row();
break; case 'del_row':
del_row();
break; case 'edit_row':
edit_row();
break;
}
// 列表
function init_data_list(){
$data = array();
$query = query_sql('select * from `et_data` order by `id` asc');
while($row = $query->fetch_assoc()){
$data[] = $row;
}
echo json_encode($data);
}
//删除
function del_row(){
$dataid = $_POST['dataid'];
$sql = "DELETE FROM `et_data` WHERE `id` = " . $dataid;
if(query_sql($sql)){
echo "ok";
} else {
echo "db error ...";
}
}
//添加
function add_row(){
$sql = 'INSERT INTO `et_data` ( `c_a`,`c_b`,`c_c`,`c_d`,`c_e`,`c_f`,`c_g`,`c_h`) VALUES(';
for($i=; $i<; $i++){
$sql .= '\'' . $_POST['col_' .$i] . '\', ';
}
$sql = trim($sql,", ");
$sql .= ")";
if($res = query_sql($sql,"SELECT LAST_INSERT_ID() as LD")){
$d = $res->fetch_assoc();
echo $d['LD'];
} else {
echo "db error ...";
}
}
//修改
function edit_row(){
$sql = 'UPDATE `et_data` SET ';
$id = $_POST['id'];
unset($_POST['id']);
for($i = ; $i < ; $i++){
$sql .= ' `c_' . chr(+$i) . '` = \'' . $_POST['col_' . $i] . '\' , ';
}
$sql = trim($sql,", ");
$sql .= ' WHERE `id` = ' . $id ; if(query_sql($sql)){
echo "ok";
} else {
echo "db error ...";
}
}
// 初始化数据库
function query_sql(){
$mysqli = new mysqli("127.0.0.1", "root", "root", "etable");
$sqls = func_get_args();
foreach($sqls as $s){
$query = $mysqli->query($s);
}
$mysqli->close();
return $query;
}
JS
$(function(){ var g_table = $('table.data');
var init_data_url = "data.php?action=init_data_list"; $.get(init_data_url, function(data){
var row_items = $.parseJSON(data);
for (var i = 0, j = row_items.length; i < j; i++) {
var data_dom = create_row(row_items[i]);
g_table.append(data_dom);
}
}); //删除事件
function delHandler(){
if (confirm('确定要删除吗?')) {
var data_id = $(this).attr("dataid");
var meButton = $(this);
$.post("data.php?action=del_row",{dataid:data_id},function(res){
if("ok" == res) {
$(meButton).parent().parent().remove();
} else {
alert("删除失败...");
}
});
}
} //修改事件
function editHandler(){
var data_id = $(this).attr("dataid");
var meButton = $(this);
var meRow = $(this).parent().parent();//没有事件 var editRow = $("<tr></tr>"); for (var i = 0; i < 8; i++) {
var editTd = $("<td><input class='textField' type='text' /></td>");
var v = meRow.find('td:eq('+ i +')').html();
editTd.find('input').val(v);
editRow.append(editTd);
} var opt_td = $("<td></td>");
var saveButton = $('<a class="opLink" href="javascript:">确认 </a>');
saveButton.click(function(){
var currentRow = $(this).parent().parent();
var input_fields = currentRow.find("input");
var post_fields = {};
for( var i = 0 , j = input_fields.length; i < j; i++){
post_fields['col_' + i] = input_fields[i].value;
}
post_fields['id'] = data_id;
$.post('data.php?action=edit_row',post_fields,function(res){
if("ok" == res){
var newUpdateRow = create_row(post_fields);
currentRow.replaceWith(newUpdateRow);
} else {
alert("数据更新失败...");
}
});
}); var canceButton = $('<a class="opLink" href="javascript:"> 取消</a>');
canceButton.click(function(){
var currentRow = $(this).parent().parent();
meRow.find('a:eq(0)').click(delHandler);
meRow.find('a:eq(1)').click(editHandler);
currentRow.replaceWith(meRow);//需重新绑定事件
}) opt_td.append(saveButton);
opt_td.append(canceButton); editRow.append(opt_td);
meRow.replaceWith(editRow);
} //列表
function create_row(data_item){
var row_obj = $("<tr></tr>");
for(var k in data_item){
if ("id" != k) {
var col_td = $("<td></td>");
col_td.html(data_item[k]);
row_obj.append(col_td);
}
} var delButton = $('<a class="opLink" href="javascript:">删除 </a>');
delButton.attr("dataid", data_item['id']);
delButton.click(delHandler); var editButton = $('<a class="opLink" href="javascript:">编辑 </a>');
editButton.attr("dataid", data_item['id']);
editButton.click(editHandler); var opt_td = $('<td></td>');
opt_td.append(delButton);
opt_td.append(editButton);
row_obj.append(opt_td);
return row_obj;
} // 添加
$("#addBtn").click(function(){
var addRow = $("<tr></tr>"); for (var i = 0; i < 8; i++) {
var col_td = $("<td><input type='text' class='textField' /></td>")
addRow.append(col_td);
} var col_opt = $("<td/></td>"); var confirmBtn = $('<a class="opLink" href="javascript:">确认 </a>');
confirmBtn.click(function(){
var currentRow = $(this).parent().parent();
var input_fields= currentRow.find('input');
var post_fields = {};
for(var i = 0 , j = input_fields.length; i< j ; i++){
post_fields['col_' + i] = input_fields[i].value;
}
$.post("data.php?action=add_row", post_fields, function(res){
if( 0 < res){
post_fields['id'] = res;
var postAddRow = create_row(post_fields);
currentRow.replaceWith(postAddRow);
} else {
alert("插入失败...");
}
})
}); var cancelBtn = $('<a class="opLink" href="javascript:"> 取消</a>');
cancelBtn.click(function(){
$(this).parent().parent().remove();
}); col_opt.append(confirmBtn);
col_opt.append(cancelBtn); addRow.append(col_opt);
g_table.append(addRow);
}); });
数据库
grant all privileges on etable.* to 'shaddow'@'localhost' identified by '';
DROP DATABASE IF EXISTS aetable;
create database aetable;
use aetable;
create table et_data(
id int primary key auto_increment,
c_a varchar(30),
c_b varchar(30),
c_c varchar(30),
c_d varchar(30),
c_e varchar(30),
c_f varchar(30),
c_g varchar(30),
c_h varchar(30)
); LOCK TABLES `et_data` WRITE;
/*!40000 ALTER TABLE `et_data` DISABLE KEYS */;
INSERT INTO `et_data` VALUES (12,'my','heart','will','go','on','and','on','forever'),(13,'hello','world','are','you','ok','with','your','skill'),(14,'when','i','was','young','i','listen','to','the radio'),(15,'wait','for','my','faveriate','song','you','like','it'),(17,'你','好','吗?','你','真的','好','嘛','确定?'),(18,'我','很','好','啊','谢谢','你','吧','非常'),(19,'故事','发生','在','','年','那时候','我们','都不大'),(20,'php','javascript','c','c++','python','golang','c#','java');
UNLOCK TABLES;
php+Ajax 例子的更多相关文章
- Ajax例子,views返回,html接收数据
Ajax例子,views返回,html接收数据 views from django.shortcuts import render,HttpResponse,render_to_response im ...
- struts2框架下的一个简单的ajax例子
举个例子 jsp页面: <%@ page language="java" import="java.util.*" pageEncoding=" ...
- DOM编程艺术章12:一个简单的Ajax例子
大概入了JavaScript的门,现在要回过头恶补Ajax和json了,随手翻到dom编程艺术发现有一个适合回忆的例子,先抄录下来,引入对Ajax作用的大概印象,再去掰开了研究. <!DOCTY ...
- 一个jquery ajax例子
上次搞了个jquery的AutoComplete效果,感觉很久没写jquery了,趁热打铁,再找点东西练练手.这不,看了一下jquery手册,顺便写了一个小例子,源码我直接贴上来了. 1.新建一个 ...
- 原生javascript和jquery实现简单的ajax例子
后台C#代码 public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/p ...
- ajax例子:审核验证用户名;登录界面
审核验证用户名主页面: <body><div>用户名:<input type="text" id="uid" /><s ...
- ajax 例子
引用 function initCsvModel(year,cityId){ var args = new Object(); args.url= "listUpload!initCsvMo ...
- 简单的Ajax例子
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jquery ajax例子
(1)取得服务端当前时间 jquery对象.load(url,sendData,function(backData,textStatus,xhr){... ...}) load():如果无参的话,就以 ...
- cakephp2.x 一个ajax例子.md
CakePHP中的ajax还是比较简单,但要注意一些细节. app/View/Layouts下新建ajaxtest.ctp <!DOCTYPE html PUBLIC "-//W3C/ ...
随机推荐
- 关闭linux服务器防火墙
--全部关闭 systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewal ...
- @cacheevict 清除多个key
@Caching(evict={@CacheEvict(“a1”),@CacheEvict(“a2”,allEntries=true)}): 参考:https://www.cnblogs.com/ha ...
- Linux之正则表达式2之()、[]、{}区别
正则表达式的() [] {} 有着不同的意思. () 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串 (\s*)表示连续空格的字符串 [] 是定义匹配的字符范围.比如[a-zA-Z ...
- h5动画如何实现?如何快速开发h5动画
最近几年随着h5的兴起,复杂的h5动画,甚至是交互动画类型的产品不断涌现,尤其在课件产品方面,很多公司都有相关需求,最近很多h5开发工程师想了解相关方面的技术. 针对h5,如果是简单的动画效果,可以考 ...
- 安装rpm
剩余 gcc-c++-3.4.6-3.1.x86_64.rpm elfutils-libelf-devel-0.97-5.x86_64.rpm glibc-2.3.4-2.41.x86_64.rpm ...
- SecureCRT 6.7 vim高亮
cp /etc/vimrc ~/.vimrc set nocompatible "去掉有关vi一致性模式,避免以前版本的bug和局限 set nu! ...
- Visual Studio Code 使用 Git插件报错 - Permission denied (publickey)
在使用GitHub的时候,为了避免每次输入用户名密码,都会使用SSH方式代替Https. 按网上教程,大多数使用SSH-KeyGen生成公私钥对,而后上传公钥至Github,并切换Repositori ...
- kafka reset offset 手工重置offset
1.场景 a)有时消费端逻辑修改,需要重复消费数据,需要将offset设置到指定位置. 2.实现 kafka版本:0.11.* KIP-122: Add Reset Consumer Group Of ...
- Python import与from import使用及区别介绍
Python程序可以调用一组基本的函数(即内建函数),比如print().input()和len()等函数.接下来通过本文给大家介绍Python import与from import使用及区别介绍,感 ...
- php查询mysql数据库
1.连接数据库,写成一个php,其他文件直接include <?php $connect = mysql_connect("ip地址","用户",&quo ...