使用php从mysql数据库中获取数据,以WYSIWYG形式显示以进行编辑

前端之家收集整理的这篇文章主要介绍了使用php从mysql数据库中获取数据,以WYSIWYG形式显示以进行编辑前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在开发一个与bootstrap WYSIWYG表单有关的cms项目,用于从数据库中插入和检索.插入代码正常工作,检索代码也可以正常工作,但在我想编辑文章时不起作用.当我点击编辑链接时,< a href ='index.php?page = edit& id =“.$row ['id'].”'>< span data-placement ='top'数据-toggle ='tooltip'title ='编辑'>< button class ='btn btn-primary btn-xs'data-title ='编辑'>< span class ='glyphicon glyphicon-pencil'>< ; /跨度>< /按钮><跨度>< / A>它引用了我的编辑页面.在我的edit.PHP页面上,我有这个代码数据库中选择,它运行良好

PHP
include("dbconnect.PHP");

if(isset($_GET['id']))

$id = strip_tags($_GET['id']);
$sql = "SELECT * FROM berita WHERE id=$id" ;
$result = MysqLi_query($conn,$sql);
while ($row = MysqLi_fetch_assoc($result))  
{
    $image= $row['gambar'];
    $title = $row['judul'];
    $description = ( $row['konten']);
    $time = $row['tanggal'];
}
?>

当我将值回显到它们各自的表单类型时,它仅适用于基于Bootstrap的WYSIWYG不回显任何值,但如果我将其更改为普通textarea,它可以正常工作.这是我在edit.PHP页面上的代码

PHP
include("dbconnect.PHP");


if(isset($_GET['id']))    
    $id = strip_tags($_GET['id']);

$sql = "SELECT * FROM berita WHERE id=$id";
$result = MysqLi_query($conn,$sql);
while ($row = MysqLi_fetch_assoc($result))      
{
    $image= $row['gambar'];
    $title = $row['judul'];
    $description = ( $row['konten']);
    $time = $row['tanggal'];
}
?>
PHP" method="POST"  enctype="multipart/form-data">
    
PHP echo date('d-m-Y'); ?>" disabled> PHP echo $title; ?>" placeholder="title" required /> PHP echo htmlspecialchars($description) ;?>

有什么帮助吗?

最佳答案
我找到了:p我在这里做了一个javascript演示:https://jsfiddle.net/x14vdkk0/1/

如果您无法设置该值,则根本原因在多个行上.
的确,你做的是这样的:

$(document).ready(function() {
    $('#txtEditor').Editor();
    $('#txtEditor').Editor('setText','My text with 

您可以看到(console.log)部分第二行出错,因为javascript无法识别这一点.

enter image description here

Solution: escape all carriage return

来自数据库

你有一个漂亮的函数json_encode,可以保护你免受所有这类问题的影响,并且可以对你的变量进行javascripti.

$(document).ready(function() {
    $('#txtEditor').Editor();
    $('#txtEditor').Editor('setText',PHP echo json_encode($description); ?>); 
});

I din’t forgotten the quotes around the PHP function. Why ? Because
json_encode function will add the quote aroud your text. If you do a
json_encode('toto') output will be "toto" ; If you do a
json_encode([key' => 'toto']) output will be {"key":"toto"}

就这样 :)

另一种方案:

对于textarea,请使用htmlspecialchars($description)