sql >> Base de Datos >  >> RDS >> Mysql

Guarde datos en PHP / Mysql con edición en línea en CKEditor

Necesitas un poco de magia AJAX. A través de JavaScript dentro de la página, obtienes el HTML editado. Luego lo envía al servidor donde un script PHP lo obtiene y puede pasarlo a MySQL.

Aquí hay un caso de prueba simple que le mostrará las cuerdas.

Comencemos con el HTML editable.

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

También necesitamos un botón "Guardar" que se usará para iniciar el evento POST.

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

Ese botón bien podría colocarse en la barra de herramientas de CKEditor, pero eso requeriría más codificación y se lo dejaré a alguien que sea mejor en JavaScript que yo.

Por supuesto que desea incluir CKEditor. Para mi código de muestra, también usaré jQuery, que usaré para aplicar AJAX a los resultados.

<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>

Ahora el script que se ejecutará cuando presione el botón "Guardar". Utilizará CKeditor para tomar el HTML editado, luego jQuery para enviarlo.

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

Eso es todo, no necesita nada más del lado del cliente.

En el servidor, debe tener el código PHP que actuará cuando el script publique el HTML actualizado. La secuencia de comandos debe llamarse save.php y debe colocarse en el mismo directorio donde está el HTML si usa mi código palabra por palabra. Mi línea aquí simplemente guardará su HTML en un archivo temporal dentro de la carpeta /tmp. Siéntase libre de agregar su magia MySQL en su lugar.

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