Mysql
 sql >> база данни >  >> RDS >> Mysql

Запазване на данни в PHP / Mysql с вградена редакция в CKEditor

Имате нужда от малко AJAX магия. Чрез JavaScript вътре в страницата получавате редактирания HTML. След това го изпращате на сървъра, където PHP скрипт го получава и може да го предаде на MySQL.

Ето един прост тестов случай, който ще ви покаже въжетата.

Нека започнем с редактируемия HTML.

<div id='textToBeSaved' contenteditable='true'>
    <p>Using the <strong>Terminal</strong> in OS X makes you all-powerful.</p>
</div>

Нуждаем се и от бутон „Запазване“, който ще се използва за стартиране на POST събитието.

<button onclick='ClickToSave()'>Save</button>

Такъв бутон бихме могли да позиционираме в самата лента с инструменти на CKEditor, но това ще изисква повече кодиране и ще го оставя на някой, който е по-добър в JavaScript от мен.

Разбира се, вие искате да включите CKEditor. За моя примерен код ще използвам и jQuery, който ще използвам за AJAX преобразуване на резултатите.

<script src='https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' type='text/javascript'></script>
<script type='text/javascript' src='CKEditor4/ckeditor.js'></script>

Сега скриптът, който ще се изпълни, когато натиснете бутона "Запазване". Той ще използва CKeditor, за да вземе редактирания HTML, след това jQuery, за да го изпрати.

<script type='text/javascript' language='javascript'>
// <![CDATA[
function ClickToSave () {
    var data = CKEDITOR.instances.textToBeSaved.getData();
    $.post('save.php', {
        content : data
        })
    }
// ]]>

Това е всичко, нямате нужда от нищо друго от страна на клиента.

На сървъра трябва да имате PHP кода, който ще действа, когато скриптът ПОСТЪПВА актуализирания HTML. Скриптът трябва да се нарича save.php и да бъде позициониран в същата директория, където е HTML, ако използвате моя код дословно. Моят едноредов тук просто ще запази вашия HTML във временен файл в папката /tmp. Чувствайте се свободни да добавите вашата MySQL магия вместо това.

<?php
file_put_contents('/tmp/serverside.html', $_POST['content']);
?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо редът на оценка за изрази, включващи потребителски променливи, е недефиниран?

  2. Тази локална сесия Flask-SQLAchemy причинява ли грешка на MySQL сървъра да е изчезнал?

  3. Получаване на org.hibernate.exception.JDBCConnectionException:не можа да изпълни заявка дори през JNDI

  4. org.hibernate.InstantiationException:Няма конструктор по подразбиране за обект::principal.Cliente

  5. Как да се свържете с MySQL с помощта на Microsoft .NET