Drag Drop-им вместе с PHP и jQuery

Возможность применения эффекта drag & drop, и сохранение данных после перестановки - это прекрасная возможность создать дружелюбный интерфейс, тем более что это реализуется, грубо говоря, несколькими строчками кода на jQuery. Всё что вам нужно сделать, так это подключить jQuery UI и прочитать данный урок!

В этом уроке мы рассмотрим 2 основных PHP файла: index.php, в котором будет расположен список к которому мы применим эффект drag & drop и updateList.php, отвечающий за сохранение новой последовательности списка в базу данных, используя MySQL. В добавок к этому вам потребуется файл connect.php для того, чтобы создать подключение к БД.

$(document).ready(function(){
      function slideout(){
  setTimeout(function(){
  $("#response").slideUp("slow", function () {
      });

}, 2000);}

    $("#response").hide();
    $(function() {
    $("#list ul").sortable({ opacity: 0.8, cursor: 'move', update: function() {

            var order = $(this).sortable("serialize") + '&update=update';
            $.post("updateList.php", order, function(theResponse){
                $("#response").html(theResponse);
                $("#response").slideDown('slow');
                slideout();
            });
        }
        });
    });
});

Вот вкратце что делает этот код:

  • Код начинается с простой функции, которая выводит инфо сообщение с результатом изменения порядка в списке.
  • Далее мы реализуем эффект drag & drop. Отправляем значение ‘order’ посредством ajax запроса в php файл, который произведёт изменения в БД.
  • После того как ajax сделает своё «грязное дело», мы отобразим результат в блоке #response.

Приведу вам фрагмент кода, который извлекает порядок элементов списка из базы:

<div id="list">

  <div id="response"> </div>
  <ul>
    <?php
              include("connect.php");
        $query  = "SELECT id, text FROM dragdrop ORDER BY listorder ASC";
        $result = mysql_query($query);
        while($row = mysql_fetch_array($result, MYSQL_ASSOC))
        {

        $id = stripslashes($row['id']);
        $text = stripslashes($row['text']);

        ?>
    <li id="arrayorder_<?php echo $id;?>"><?php echo $id;?> <?php echo $text;?>
      <div class="clear"></div>
    </li>
    <?php } ?>
  </ul>
</div>

Ниже находится содержимое файла ‘updateList.php’. Его содержание говорит само за себя. Мы используем скрипт MySQL update, вызываемый в цикле foreach, который обновляет значения в базе и выводит ответ.

<?php
include("connect.php");
$array  = $_POST['arrayorder'];
if ($_POST['update'] == "update"){
$count = 1;
    foreach ($array as $idval) {
        $query = "UPDATE dragdrop SET listorder = " . $count . " WHERE id = " . $idval;
        mysql_query($query) or die('Error, insert query failed');
        $count ++;
    }
    echo 'All saved! refresh the page to see the changes';
}
?>

Надеюсь, данный эффект будет вам полезен!


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/_QmNBbeh1bg/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Drag Drop-им вместе с PHP и jQuery | | 2012-06-25 16:21:23 | | Статьи Web-мастеру | | Возможность применения эффекта drag & drop, и сохранение данных после перестановки - это прекрасная возможность создать дружелюбный интерфейс, тем более что это реализуется, грубо говоря, несколькими | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: