在可编辑的textarea中显示现有内容

时间:2015-06-01 08:49:22

标签: javascript php jquery html

您好我正在尝试使用javascript和php制作可编辑的页面,我想显示已经存储在该区域中的内容但是它不起作用。它意味着是一个博客页面,意味着有多个帖子。我不确定问题是在js还是php中。

这是我正在使用的javascript。 console.log()写道post_id未分配。

$(document).on('click', '.editButton', function () {

         var post_id = $(this).parent().data('id');
         var self = this;

         $.getJSON(settings.server, {post_id: post_id},  function(data){
                var editableText = '<textarea class="editPostBody">' + data.body + '</textarea>';
                console.log(post_id);

                $(".post").parent().replaceWith(editableText);
         });    
});

var formatPost = function(d) {

        var s = '';

  s = '<div class="post" data-id="' + d.post_id + '"><h2 class="postHeading">' + d.title +'</h2>';

  s += d.body;
  s += '<p> Posted on: ' + d.date + '</p>';

  s += '<div class="btn editButton">Edit Post</div>'
  s += '</div>'

        return s;
    };

这是PHP文件 与先前建立的数据库的连接

if(count($_GET)) {

if(isset($_GET['post_id'])){

get_post_id( $_GET['post_id']);

}

}
else{

get_posts();
}


function get_posts() {

global $link;

// $sql = "SELECT COUNT(1) FROM posts";

// $result = mysqli_query($link, $sql);
// $total = mysqli_fetch_array($result);

$sql = "SELECT * FROM post ORDER BY date DESC LIMIT 0, 5";

$result = mysqli_query($link, $sql);
$rows = array();

while ($row = mysqli_fetch_assoc($result)) {
    $rows[] = $row;
}   

// $json = '{"total":"' . $total[0] . '","posts":';
$json = json_encode($rows);
// $json .= "}";

print($json);   
}


function get_post_id($postId){

 global $link;

 $sql = "SELECT * FROM post WHERE id = $postId";   
 $result = mysqli_query($link, $sql);
 $toSend = mysqli_fetch_assoc($result);


  print json_encode($toSend);
}

谢谢

1 个答案:

答案 0 :(得分:0)

我修改了这样的代码

function get_post_id($postId){

  global $link;

  $sql = "SELECT * FROM post WHERE post_id = $postId";  
  $result = mysqli_query($link, $sql);
  $toSend = mysqli_fetch_assoc($result);


  print json_encode($toSend);
}

和JS

$(document).on('click', '.editButton', function () {

          var post_id = $(this).parent().data('id');
        // console.log(post_id);
          var self = this;

         $.getJSON(settings.server, {post_id: post_id},  function(data){
                var editableText = $('<textarea class="editPostBody">' + data.body + '</textarea>');
            console.log(post_id);
                $(".post").parent().replaceWith(editableText);
         });