javascript - 使用ajax使用php更新mysql表

标签 javascript php jquery mysql ajax

这里我创建了一个表http://jsbin.com/OJAnaji/13/edit和演示:http://jsbin.com/OJAnaji/13

因此,当用户单击表中的某些行时,会自动将表中的值填充到模式窗口中的输入字段中。单击“编辑行”按钮时用户打开模态窗口。现在我需要知道如何更新 mysql 表的列:姓名、性别、年龄、吃的 donut 。

我创建js ajax:

$("#edit").click(function() {
    //in here we can do the ajax after validating the field isn't empty.
    if($("#name").val()!="") {
        $.ajax({
            url: "update.php",
            type: "POST",
            async: true, 
            data: { Name:$("#name").val(), Gender:$("#gender").val(), Age:$("#age").val(), Donuts_eaten:$("#donuts_eaten").val()}, //your form data to post goes here as a json object
            dataType: "html",

            success: function(data) {
                $('#output').html(data); 
                drawVisualization();   
            },  
        });
    } else {
        //notify the user they need to enter data
    }
});

HTML - 模式窗口和按钮:

<!-- Button trigger modal -->
<button id="edit" class="btn btn-success disabled" type="button" data-toggle="modal" data-target="#myModal">
Edit selected row</button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title" id="myModalLabel">Add new row</h4>
      </div>
      <div class="modal-body">
        <div class="input-group">
  <span class="input-group-addon">Name</span>
  <input type="text" value="" id="name" class="form-control" placeholder="Type name">
        </div></br>
        <div class="input-group">
  <span class="input-group-addon">Gender</span>
  <input type="text" id="gender" class="form-control" placeholder="Gender?">
</div></br>
        <div class="input-group">
  <span class="input-group-addon">Age</span>
  <input type="text" id="age" class="form-control" placeholder="Number of age">
</div></br>
        <div class="input-group">
  <span class="input-group-addon">Donuts eaten</span>
  <input type="text" id="donuts_eaten" class="form-control" placeholder="Number of donuts eaten">
</div></br>

      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

那么我现在如何使用 php 更新 MySql 数据库:

so 文件 update.php 必须如下所示:

<?php
$con = mysql_connect('localhost', 'gmaestro_agro', 'pass') or die('Error connecting to server');

mysql_select_db('gmaestro_agro', $con); 

//HOW I CAN UPDATE MYSQL DATABASE, WHAT I NEED TO ADD HERE?

?>

最佳答案

表中应该有一个自动递增列,例如“id”或像下面的示例一样使用“index_id”。这应该在创建表单时使用,并与 $_POST 数组一起发送以引用您正在更新的行。这是一个简单的示例,您可以使用它来入门。

 $_POST = stripslashes_deep($_POST); # you will want to better filtering for security.
    if(isset($_POST['Name']) && $_POST('Name') !=''){

    $query = "UPDATE stat
              SET Name   ='". $_POST['Name'] . "',
                  Gender ='". $_POST['Gender'] . "',
                  Age    ='". $_POST['Age'] . "',
                  Donuts_eaten  ='" .$_POST['Donuts_eaten'] . "'
             WHERE
                 index_id = '". $_POST['index_id'] . "'";

    $result = mysql_query($query) or die(mysql_error()); 
    exit(json_encode($_POST)); 
    }


    function stripslashes_deep($value)
    {
        $value = is_array($value) ?
            array_map('stripslashes_deep', $value) :
            stripslashes($value);

        return $value;
    }

对于您的 MYSQL 表,您可以在 MYSQL PhpMyAdmin 中运行此命令:

ALTER TABLE  `stats` ADD  `index_id` INT( 3 ) NOT NULL AUTO_INCREMENT FIRST ,
ADD PRIMARY KEY (  `index_id` )

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

相关文章:

javascript - 使用带有 IF 语句的 jQuery-ajax 响应

javascript - js 弹出窗口仅加载第一篇文章的内容,而不是单个文章

php - 上传图片名称

php - 对同一用户使用 x-editable 时,一次更新 1 行且每行具有不同的值

javascript - 有没有办法只使用 JavaScript 从另一个域加载 XML 文件?

jquery - Javascript 没有完全考虑元素的高度

javascript - 定义单个函数来处理其他函数的功能

javascript - 立即检测连接丢失 - Websocket - JavaScript

javascript - 如何使用 Grails Asset-Pipeline 插件从 Javascript 访问图像?

php - 在 linux/apache 服务器上的 cron 作业上运行 script.php,但限制对 php 文件的公共(public)访问