0

我需要一些关于如何从动态创建的输入字段成功更新数据库中的多行的建议。

所以,我所拥有的是:

PHP

<?php
   while ($row = mysql_fetch_array($sql)) {
       echo "<input class='estemated_days' type='text' id='".$row['scpe_id']."' value='".$row['scpe_estemated_days']."'></td>";
   }
?>

这将输出如下内容:

HTML

<input class='estemated_days' type='text' id='718' value='5'>
<input class='estemated_days' type='text' id='719' value='8'>
<input class='estemated_days' type='text' id='720' value='10'>

<input type='button' id='save' value='Save'> <!-- Button to jQuery -->

.....ETC。

这是我缺乏知识的地方。我希望 jQuery 做这样的事情:

jQuery

($"#save").click(function () {

  // Get value of id from (".estemated_days") as an identifier, and get the input value it contains
  // Send to /update.php

});

然后,update.php会做这样的事情:

PHP

<?php

if (isset($_POST['save'])) {

    /*
        Get all of the id's and the value it contain's

        perform:
    */

    mysql_query = ("UPDATE myDatabase SET estemated_days = '$the_value_from_the_input' WHERE scpe_id = '$the_value_of_the_id'");
    //Repeat this for all rows from the webpage
}

?>

我的知识是基本的网络编程,但我真的很想完成这项工作。有人对我应该如何做有建议吗?

4

1 回答 1

1
var values = {};
$('input.estimated_days').each(function(n, el){
   values[ $(el).attr('id') ] = $(el).val();
});

$.ajax(
  {
    type : 'POST',
    url : 'update.php',
    data : {edays: values}
  }
); /// see jquery docs for ajax callbacks 

<?php
   foreach($_POST['edays'] as $id=>$value) // ...

http://api.jquery.com/jQuery.ajax/http://api.jquery.com/attr/

...并且不要忘记清理 mysql 的输入

于 2012-06-18T23:27:10.650 回答