javascript - 我的 Ajax 代码只从 Mysql 数据库行中获取一行的值

标签 javascript php mysql ajax

create table comment(id int not null auto_increment primary key, comment text);
$result = mysqli_query($con, "select * from comment order by id desc");

while($rows = mysqli_fetch_assoc($result)) {
    $main_id = $rows["id"];
    $comment = $rows["comment"];

    echo "<input type='hidden' id='main_id' value=\"$main_id\"/>";
    echo "<input type='hidden' id='comment' value=\"$comment\"/>";
    echo "<div id='edit_field'><p>$comment</p></div>" . "\n";
    echo "<a href='#' id='edit'> edit</a>" . "\n";
}


$(document).ready(function() {

  $('#edit').click(function() {

      var id = $('#main_id').val();
      var comment = $('#comment').val();
      var varData = 'id='+id+'&comment='+comment;

      $.ajax ({

        type: "POST",
        url: "edit_field.php",
        data: varData,
        success: function(data) {
        $("#edit_field").html(data);
       }
      });
}); 


require_once('lib/functions.php');

$con = connect();

$result = mysqli_query($con, "select * from comment where id = $_POST[id]");

while($rows = mysqli_fetch_assoc($result)) {

  $id = $rows["id"];

  $comment = $rows["comment"];

  echo "<textarea cols='40' name='comment' rows='4'>$comment</textarea>";
}

最佳答案

while($rows = mysqli_fetch_assoc($result)) {
    $main_id = $rows["id"];
    $comment = $rows["comment"];

    echo "<input type='hidden' class='main_id' id='main_id_$main_id' value=\"$main_id\"/>";
    echo "<input type='hidden' class='comment' id='comment_$main_id' value=\"$comment\"/>";
    echo "<div class='edit_field'><p>$comment</p></div>" . "\n";
    echo "<a href='#' class='edit' id='edit_$main_id'> edit</a>" . "\n";
}


$(document).ready(function() {

  $('.edit').click(function() {
      var lnk = $(this);
      var rowId = lnk.attr('id');
      var rowIdParts = rowId.split('_');

      var id = rowIdParts[1];
      var comment = $('#comment_'+id).val();
      var varData = 'id='+id+'&comment='+comment;

      $.ajax ({

        type: "POST",
        url: "edit_field.php",
        data: varData,
        success: function(data) {
        $("#edit_field").html(data);
       }
      });
}); 

关于javascript - 我的 Ajax 代码只从 Mysql 数据库行中获取一行的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21062255/

相关文章:

javascript - 这是使用node.js和jade打开文件并读取每一行的方法吗?

javascript - 点击事件未触发

javascript - HTML5 地理定位在 https 网站上失败

php - 在php中如何显示mysql的结果?

javascript - Opera HTML5 视频 ReadyState == 2 而不是等于 4

php - Magento 更改产品网址

php - 存储html内容的文档数据库

mysql - Rails - 连接表删除

mysql - SQL 查询语句中包含 drop 或 null

mysql - 数据库设计 - 许多带有唯一标签的表还是一张带有所有标签的表?