php - 使用javascript更新sql记录

标签 php javascript forms

我之前有一个简单的表格:

<form method="post" action="firstbillsubmitbal.php?id=#COL1#"> 
    <input name="currentbal" type="text" id="currentbal" class="input-mini"  /> 
    <input type="submit" id="submit" value="Save" class="btn btn-success" />
</form>

调用此页面来处理firstbillsubmitbal.php

$dealID = $_GET["id"]; 
$currentbal = mysql_real_escape_string(stripslashes($_POST['currentbal']));
$sql = mysql_query("UPDATE deals SET 
        currentbal = '$currentbal',
        currentbalDone = 'Yes'
        WHERE deals.dealID = '$dealID'") or die (mysql_error());

它对于单笔交易运行良好。但我需要对其进行一些编辑,因为我现在在表格中显示数据。现在,当我单击表格上每行上的 btn,传递我的 row_id 和 currentbal calue 时,我有了这个 js 代码,我得到了它的工作,但我想从这个 js 代码中知道如何处理我的表单?

function funcEdit(row_id){  
var currentbal = document.getElementById('currentbal' + row_id).value;
    var r=confirm("Are You Sure You Want To Proceed?");
    if(r==true) {
        alert("Record is saved");
    } else {
        alert("Cancelling Transaction");
    }   
}

js代码目前只有两个变量

row_id = 这基本上是数据库行的 ID currentbal = 这是我要上传到数据库的值

我的问题基本上是如何调用我的 firstbillsubmitbal.php 文件以及如何编辑我的 php 文件,以便将我的 row_id 和 currentbal 上传到我的数据库,因为我不再使用 POST。

<小时/>

谢谢您的回复。所以我浏览了一些在谷歌上找到的答案和一些教程,这就是我的 js 代码发生的情况。

function funcEdit(row_id){  
var currentbal = document.getElementById('currentbal' + row_id).value;
var dealID = row_id;
//organize the data properly
var data = 'currentbal=' + currentbal.val() + '&dealID=' + dealID.val();

    //start the ajax
    $.ajax({
        url: "firstbillsubmitbal.php",  
        type: "GET",
        data: data,     
        cache: false,
        success: function() {  
        $('#message').html("<h2>Current balance has been updated!</h2>") 
        } 

    });             
}

这就是我的firstbillsubmitbal.php 页面发生的情况

$dealID = $_GET['dealID'] 
$currentbal = $_GET['currentbal']

$sql = mysql_query("UPDATE deals SET 
        currentbal = '$currentbal',
        currentbalDone = 'Yes'
        WHERE deals.dealID = '$dealID' LIMIT 1") or die (mysql_error());

但是当我单击按钮调用我的函数时什么也没有发生。我错过了什么?

此外,这是我调用函数的方式。 #COL1# 是我的行 ID 值。

<a href="javascript: funcEdit(#COL1#);" class="btn btn-success">Update</a>

最佳答案

您的函数是否使用 row_id 数据正确调用?
如果是这样,那么这可能会给你一个技巧,

function funcEdit(row_id){  
var currentbal = document.getElementById('currentbal' + row_id).value;
var dealID = row_id;
    //start the ajax
    $.ajax({
        url: "firstbillsubmitbal.php",  
        type: "GET",
          //pass data like this 
        data: {currentbal:currentbal.val(),dealID: dealID.val()},    
        cache: false,
        success: function(data) {  
        if (data=="1")
        $('#message').html("<h2>Current balance has been updated!</h2>") 
        } 

    });             
}

在 php 文件中

$dealID = $_GET['dealID'] 
$currentbal = $_GET['currentbal']

$sql = mysql_query("UPDATE deals SET 
        currentbal = '$currentbal',
        currentbalDone = 'Yes'
        WHERE deals.dealID = '$dealID' LIMIT 1") or die (mysql_error());

echo "1" ; // if update successful
else echo "0" // if update unsuccessful

关于php - 使用javascript更新sql记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14617667/

相关文章:

php - 将 csv 文件保存到现有文件但在新工作表中并重命名工作表

PHP 控制运算符 (@) 不起作用

php - 如何使用未知数量的参数创建准备好的语句? (对于搜索框)

javascript - React componentDidMount 未触发且未更新 Electron 应用程序中的状态

jquery - 动态地将 from 操作值放入 Jquery 中?

php - Silverstripe googlesitemaps 模块

javascript - Highcharts 堆叠柱上的“圆形”渐变显示为圆柱体

javascript - 将插值表达式传递到 Angular 指令中

javascript - Bootstrap 3 表单中用户输入是如何提交的?

html - 解决 ie7 中奇怪行为标签的问题