从动态生成的输入字段PHP,MySQL,jQuery更新多行

时间:2012-06-18 23:12:13

标签: php jquery mysql input

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

所以,我所拥有的是:

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 -->

.....等

这是我缺乏知识的地方。我希望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
}

?>

我的知识是基本的网络编程,但我真的很想做到这一点。任何人都有关于我应该怎么做的建议?

1 个答案:

答案 0 :(得分: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的输入