首页 > 后端开发 > 正文

php开源ajax框架 PHP+Ajax如何实现表格的实时编辑

2023-09-10 07:48:19 | 我爱编程网

大家平时对后端开发都十分关注,今天为大家整理了php开源ajax框架 PHP+Ajax如何实现表格的实时编辑,下面就随我爱编程网小编一起来看一下吧。

php开源ajax框架 PHP+Ajax如何实现表格的实时编辑

PHP+Ajax如何实现表格的实时编辑


这次给大家带来PHP+Ajax如何实现表格的实时编辑,PHP+Ajax实现表格实时编辑的注意事项有哪些,下面就是实战案例,一起来看一下。
如果我们的对于一个表格中所有的数据都能在本页进行操作那该是多酷炫的一件事(用起来炒鸡爽)!
用Ajax就可以实现这个功能啦。废话不多说,下面贴出我写的demo吧哈哈。我用的TP框架(3.2)比较习惯啦。
首先是HTML代码部分:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>AJAX实时编辑</title>
<script src="PUBLIC/jquery-1.7.2.min.js"></script>
</head>
<body>
<center>
<table border="1" width="1000" id="g_table">
<tr>
<!-- <th>ID</th> -->
<th>TAB1</th>
<th>TAB2</th>
<th>TAB3</th>
<th>TAB4</th>
<th><span onclick="add()">添加</span></th>
</tr>
<foreach name="tablist" item="vv">
<tr>
<!-- <td>{$vv.id}</td> -->
<input type="hidden" name="id" value="{$vv.id}">
<td>{$vv.tab1}</td>
<td>{$vv.tab2}</td>
<td>{$vv.tab3}</td>
<td>{$vv.tab4}</td>
<td><span onclick="del(this)" id="del">删除</span><span onclick="edit(this)" id="edit">修改</span></td>
</tr>
</foreach>
</table>
</center>
</body>
<script>
var g_table = $("#g_table");
function add(){
var addRow = $("<tr></tr>");
g_table.append(addRow);
for(var i = 0;i < 4;i++){
var col_td = $("<td><input type='text' /></td>");
addRow.append(col_td);
}
var col_opt = $("<td></td>");
var confirmBtn = $("<a href='javascript:;'>确认</a>");
var cancelBtn = $("<a href='javascript:;'>取消</a>");
cancelBtn.click(function(){
window.location.reload();
});
confirmBtn.click(function(){
var currentRow = $(this).parent().parent();
var input_files = currentRow.find("input");
var post_files = {};
for(var i = 0 , j = input_files.length;i < j;i++){
post_files['clo_' + i] = input_files[i].value;
}
// $.post("{:U('ajax/add')}",post_files,function(msg){
// debugger;
// })
$.ajax({
type: 'post',
url : "{:U('ajax/add')}",
data: {post_files},
success:function(msg){
alert(msg);
window.location.reload();
}
})
});
col_opt.append(confirmBtn);
col_opt.append(cancelBtn);
addRow.append(col_opt);
}
function del(obj){
var id = $(obj).parent().prev().prev().prev().prev().prev().val();
$.ajax({
type: 'post',
url: "{:U('ajax/del')}",
data: {id:id},
success:function(msg){
alert(msg);
}
})
$(obj).parent().parent().remove();
}
function edit(obj){
var id = $(obj).parent().prev().prev().prev().prev().prev().val();
for(var i = 1;i < 5;i++){
var temp = "<td><input type='text' value='" + $(obj).parent().parent().children().eq(i).html() + "'/></td>";
$(obj).parent().parent().children().eq(i).replaceWith(temp);
}
var confirmBtn1 = $("<span id='confirm'>确认</span>");
var cancelBtn1 = $("<span onclick='back()'>取消</span>");
confirmBtn1.click(function(){
var currentRow = $(this).parent().parent();
var input_files = currentRow.find("input");
var post_files = {};
for(var i = 0 , j = input_files.length;i < j;i++){
post_files['clo_' + i] = input_files[i].value;
}
$.ajax({
type: 'post',
url : "{:U('ajax/edit')}",
data: {post_files:post_files,id:id},
success:function(msg){
alert(msg);
window.location.reload();
}
})
});
$(obj).prev().replaceWith(confirmBtn1);
$(obj).replaceWith(cancelBtn1);
}
function back(){
location.reload();
}
</script>
</html>下面是控制器中的代码:
<?php
namespace Home\Controller;
use Think\Controller;
class AjaxController extends Controller{
public function index(){
$tab = M('table');
$tablist = $tab->select();
$this->assign('tablist',$tablist);
$this->display();
}
public function del(){
$map['id'] = $_POST['id'];
$tab = M('table');
$info = $tab->where($map)->delete();
if($info){
$this->ajaxReturn("删除成功");
}else{
$this->ajaxReturn("删除失败");
}
}
public function add(){
$map['tab1'] = $_POST['post_files']['clo_0'];
$map['tab2'] = $_POST['post_files']['clo_1'];
$map['tab3'] = $_POST['post_files']['clo_2'];
$map['tab4'] = $_POST['post_files']['clo_3'];
$tab = M('table');
$res = $tab->add($map);
if($res){
$this->ajaxReturn("添加成功");
}else{
$this->ajaxReturn("添加失败");
}
}
public function edit(){
$id = $_POST['id'];
$map['tab1'] = $_POST['post_files']['clo_1'];
$map['tab2'] = $_POST['post_files']['clo_2'];
$map['tab3'] = $_POST['post_files']['clo_3'];
$map['tab4'] = $_POST['post_files']['clo_4'];
// dump($map);exit;
$tab = M('table');
$res = $tab->where('id='.$id)->save($map);
if($res){
$this->ajaxReturn("更新成功");
}else{
$this->ajaxReturn("更新失败");
}
}
}相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
Ajax+Spring实现文件上传

怎么用Ajax实现动态加载数据的功能

Ajax怎么实现上传文件的进度条Codular

php开源ajax框架 PHP+Ajax如何实现表格的实时编辑

如何用php接收ajax提交到后台的数据


这次给大家带来如何用php接收ajax提交到后台的数据,用php接收ajax提交到后台数据的注意事项有哪些,下面就是实战案例,一起来看一下。
在网上看了很久,发现数据的利用ajax提交数据到后台其实很简单,但是很多讲解的并不清楚,对于初学者来说,很多真的是看着有点糊涂,拿来直接用,又想去了解怎么回事,其实利用ajax提交数据到后台是非常的简单的。
$.ajax({
type: "POST",
url: "register.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});首先我们对上面这一串代码进行解读,当然使用ajax需要用到的是jQuery
type:"POST",是提交的类型
url:"register.PHP",是提交的方向,我是提交给register.php进行处理
data:"name=Jhon&&location=Boston",这个是我们提交的数据,Jhon和Boston就是我们提交上去的数据
success:function(msg)
{
msg是提交成功之后返回对数据
}
后台怎样写来获取这些数据:
<?php
//首先是获取到了数据
$username=$_POST['name'];
$password=$_POST['location'];
echo $password;
?>我们很清晰的看到的是$_POST["name"];就是获取都的Jhon
$_POST['location']就是获得的Boston
我们后台返回的数据,也即是echo出来的数据,就是Boston。
希望对大家有所帮助。
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
AJAX在不刷新的情况下检测输入的用户名

ajax跨域问题的图文详解(附代码)

php开源ajax框架 PHP+Ajax如何实现表格的实时编辑我爱编程网

php 怎么使用ajax,给个例子

实现ajax需要三个文件,一个是html的表单文件,一个是js的核心文件,一个是php的后台文件。

下面的是html文件,当键盘按下时触发showHint方法,在showHint方法中会有ajax的核心内容,实例化,获取地址,获取数据并展示等等。

复制代码 代码如下:

<html>
<head>
<script src="clienthint.js"></script>
</head>
<body>

<form>
First Name:
<input type="text" id="txt1"
onkeyup="showHint(this.value)">
</form>

<p>Suggestions: <span id="txtHint"></span></p>

</body>
</html>

下面是js的内容clienthint.js。

复制代码 代码如下:

var xmlHttp
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML=""
return
}
//获取xmlHttpObject对象,如果为空,提示浏览器不支持ajax
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
//获取url
var url="gethint.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
//回调函数,执行动作
xmlHttp.onreadystatechange=stateChanged
//open
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
//将获取的信息插入到txtHint中
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}

//获取xml对象
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

下面是php的内容。根据ajax对象传入的参数,获取相应的数据。

复制代码 代码如下:

<?php
// Fill up array with names
$a[]="Anna";
$a[]="Brittany";
$a[]="Cinderella";
$a[]="Diana";
$a[]="Eva";
$a[]="Fiona";
$a[]="Gunda";
$a[]="Hege";
$a[]="Inga";
$a[]="Johanna";
$a[]="Jiqing";
$a[]="Kitty";
$a[]="Linda";
$a[]="Nina";
$a[]="Ophelia";
$a[]="Petunia";
$a[]="Amanda";
$a[]="Raquel";
$a[]="Cindy";
$a[]="Doris";
$a[]="Eve";
$a[]="Evita";
$a[]="Sunniva";
$a[]="Tove";
$a[]="Unni";
$a[]="Violet";
$a[]="Liza";
$a[]="Elizabeth";
$a[]="Ellen";
$a[]="Wenche";
$a[]="Vicky";
//get the q parameter from URL
$q=$_GET["q"];

//lookup all hints from array if length of q>0
if (strlen($q) > 0)
{
$hint="";
for($i=0; $i<count($a); $i++)
{
if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
{
if ($hint=="")
{
$hint=$a[$i];
}
else
{
$hint=$hint." , ".$a[$i];
}
}
}
}

//Set output to "no suggestion" if no hint were found
//or to the correct values
if ($hint == "")
{
$response="no suggestion";
}
else
{
$response=$hint;
}
//output the response
echo $response;
?>

以上就是今天分享给大家的内容了,想要了解更多后端开发资讯,敬请关注我爱编程网!
与“php开源ajax框架 PHP+Ajax如何实现表格的实时编辑”相关推荐
php和ajax框架 PHP+Ajax如何实现表格的实时编辑
php和ajax框架 PHP+Ajax如何实现表格的实时编辑

Ajax结合php怎么实现二级联动这次给大家带来Ajax结合php怎么实现二级联动,Ajax结合php实现二级联动的注意事项有哪些,下面就是实战案例,一起来看一下。使用ajax,从php中获取数据&lt;!DOCTYPEhtml&gt;&lt;html&gt;&lt;head&gt;&lt;title&gt;Ajax案例一&lt;/title&gt;&lt;meta

2023-09-12 16:23:01
php中tp框架修改数据 PHP+Ajax如何实现表格的实时编辑
php中tp框架修改数据 PHP+Ajax如何实现表格的实时编辑

使用TP框架在搜索后修改一条记录提交后返回到之前搜索出来的数据信息比如搜索id=1得N条数据修改其中一条然后返回ID=1这样的话我们需要在get里面加点东西比如index.php?id=1修改页面kk.php?pid=2&amp;id=1或者你用cook来储存搜索条件说的再多就是用一个东西来储存搜索条件或者用JShistory.back()ph

2023-10-04 16:07:34
搜索引擎框架php 如何用PHP和ajax实现实时搜索功能
搜索引擎框架php 如何用PHP和ajax实现实时搜索功能

php搜索功能如何实现的推荐:《PHP视频教程》1.先创建MySQL数据库:数据库名:pichai表名:message;2.pichai数据库里的message表里插入name、email2个字段;同时插入几条数据进去。3.建立config.php文件,用于数据库连接。4.建立search.html文件,用于创建搜索表单页,提交搜索内容。5.建立search.php文件,

2023-09-29 00:32:59
php在框架中搜索的代码 如何用PHP和ajax实现实时搜索功能
php在框架中搜索的代码 如何用PHP和ajax实现实时搜索功能

PHP中怎么实现关键字搜索?PHP要实现关键字查搜索,需要用到like关键字来组合查询条件like具体实现方法如下:例一:1    $userForm=M('user');    1    $where['name']=array('like','phpernote%');    2    $userForm-&gt;where($where)-&gt;select();

2023-10-03 23:28:34
php框架网页局部更新 如何用php+ajax实现页面的局部刷新
php框架网页局部更新 如何用php+ajax实现页面的局部刷新

php页面如何局部刷新?第一进入的时候因为你的cookie本身就还没有设置,所以是空的。如果你想第一次进去就能显示cookie你应该将你的cookie设置一个默认值,然后再根据需要进行设置。if($_COOKIE['tags'])$tagc=$_COOKIE['tags'];else$tagc='init';echo"&lt;divid='youhuima'&gt;".

2023-09-15 18:31:20
php爬虫框架ajax数据 php如何获取jquery ajax传递过来的值?
php爬虫框架ajax数据 php如何获取jquery ajax传递过来的值?

php如何获取jqueryajax传递过来的值?方法和详细的操作步骤如下:1、第一步,安装并配置PHP集成环境,以phpstudy为例,见下图,转到下面的步骤。2、第二步,完成上述步骤后,在www目录中创建一个新的html文件(new1.html)和一个php(ab.php)文件,见下图,转到下面的步骤。3、第三步, 完成上述步骤后,html文件首先引用所需的类库jque

2023-09-19 17:31:33
php框架ajax 在Lavarel框架中ajax需要怎么提交表单
php框架ajax 在Lavarel框架中ajax需要怎么提交表单

在Lavarel框架中ajax需要怎么提交表单这次给大家带来在Lavarel框架中ajax需要怎么提交表单,在Lavarel框架中ajax提交表单的注意事项有哪些,下面就是实战案例,一起来看一下。laravel简介:Laravel是一套简洁、优雅的PHPWeb开发框架(PHPWebFramework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而

2023-09-03 23:55:52
php定时框架 php如何实现定时任务
php定时框架 php如何实现定时任务

php如何实现定时任务,php定时任务方法,最佳PHP制作定时任务(也称计划任务)的方法,大概分为2种:现在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它们都是单入口的形式,也就是说所有的请求都集合到index.php中,然后再由框架核心来根据请求参数的不同来分配到不同的控制器当中。基于单入口的形式,那么就可以做基于行为(例如TP3.2)或者说基于事件

2023-09-11 05:19:26