如何从 mysql 获取数据到 ckeditor textarea?

Posted

技术标签:

【中文标题】如何从 mysql 获取数据到 ckeditor textarea?【英文标题】:How to fetch data from mysql to ckeditor textarea? 【发布时间】:2019-10-18 08:13:10 【问题描述】:

我正在为我的项目使用带有核心 php 的 ckeditor 包。用户将 将他的帖子输入到带有ckeditor的textarea中。所以用户可以使用 ckeditor的工具栏。并且用户可以将他的数据存储在数据库中 html.Now 我想从表中获取数据,因为用户保存到 db.But 问题是它没有以 html 的形式获取数据。它没有显示数据 html。假设如果我在存储时将数据存储为“*Hi *How are You**” 数据它无法存储单词之间的空间。正如预期的那样,当我 获取数据它显示没有空格的数据。

我正在使用 jquery ajax 方法将数据存储到数据库中:

$('#save').click(function() 
  var comment_data = CKEDITOR.instances["new_reply"].getData();

  var dataString = 'comment_data='+comment_data';
  alert(dataString);
  $.ajax(
    type:'POST',
    data:dataString,
    url:"add_data.php",
    success:function(data) 
        window.location.reload();
    
  );

在控制台 dataString 上,它向我显示了带有 html 标记和数据的结果,因为它是我在 ckeditor 中输入的。但如果我在单词之间添加长空格,它不会存储。

【问题讨论】:

var dataString = 'comment_data='+comment_data'; 有一个错误的结束引号 请忽略错字 【参考方案1】:

在保存 ckeditor 值时使用序列化方法。这对于在不丢失类型和结构的情况下存储或传递 PHP 值很有用

$comment_data = serialize($_POST['comment_data']);

要显示 ckeditor 数据表单数据库,请使用 unserialize()。

$content = unserialize($row["comment_data"]);

【讨论】:

【参考方案2】:

在对象中发送您的数据:

$.ajax(
    type:'POST',
    data:
        comment_data: comment_data
    ,
    url:"add_data.php",
    success:function(data) 
        window.location.reload();
    
  );

并在服务器端获取您的数据:

comment_data: $_POST['comment_data']

【讨论】:

以上是关于如何从 mysql 获取数据到 ckeditor textarea?的主要内容,如果未能解决你的问题,请参考以下文章

如何从CKEditor 5实例获取数据

如何使用 JQuery 向 CKEditor 添加数据

如何从 CKEditor 5 中的插入事件中获取文本?

如何将ckeditor内容保存在mysql数据库中

在 CKEditor 中使用内联编辑将数据保存到 PHP/Mysql

CKEDITOR:从Javascript中的多个实例名称中获取数据