jquery ajax сортируемые данные передачи в объекте в качестве значения ключа после сериализации

Я использую jquery ui sortable, чтобы переупорядочить список через php, я получаю идентификаторы так:

var ids = $('#sort1').sortable('serialize');

Работает нормально когда на update в вызове Аякса я передаю data в вызове ajax вот так:

data: ids

А затем поймайте внутри моего php-скрипта вот так (обратите внимание на единственное число):

$getids = $_POST['id'];

Все это прекрасно работает, однако я хочу передать данные внутри объекта, потому что есть и другие вещи, которые я хочу передать, но, похоже, это не работает.

Я старался:

data: {
id: ids
},

тогда я получаю эту ошибку PHP:

 Warning: Invalid argument supplied for foreach() in C:\wamp\www\sortable\sort.php on line 8

И я также попытался изменить $getids = $_POST['id']; в $getids = $_POST['ids']; но затем я получаю неопознанный индекс, а также неверный аргумент ошибки.

Как я могу передать ids внутри объекта как пара ключ-значение?

РЕДАКТИРОВАТЬ:

код foreach

$count = 1;
foreach ($getids as $key => $id) {
$q = "UPDATE titles SET sorting='$count', parent_id='1' WHERE id='$id'";
$r = mysqli_query($dbc, $q);

if ($r) {
echo 'done <br>';
} else {
echo 'problem <br>' . mysqli_error($dbc);
}
$count++;
}

1

Решение

У меня была эта проблема, и я наткнулся на этот пост, так как он не содержит никакого кода для решения этой проблемы. Я наконец нашел решение, которое сработало для меня …

В своем Ajax-запросе я преобразовал свой сортируемый пользовательский интерфейс в массив, используя следующее:

var data = $(this).sortable('toArray');

Затем запрос Ajax был отправлен следующим образом:

data: { sectiononelink: data, currentUserID: user_id },

Тогда, потому что функция сортируемой по массиву дала мне строку, такую ​​как sectionone-asectionone-bsectionone-csectionone-d и т. Д. Я хотел только буквы после части sectionone-строки, когда искал, чтобы упорядочить список в мой HTML, используя буквы а — я.

В моем PHP я использовал цикл foreach, который содержал:

$profileLinkOrder = "";

foreach($_POST['sectiononelink'] as $value)
{
$profileLinkOrder .= substr(strstr($value, "-"), 1);
}

Тогда переменная $ profileLinkOrder будет выглядеть как abcdefg и т. Д … В зависимости от того, как у меня был мой сортируемый список пользовательского интерфейса на моей HTML-странице.

Это сработало для меня, поэтому я надеюсь, что кто-то еще может использовать это для решения этой проблемы. Я не мог найти другие решения в Интернете. Позвольте мне знать, если это помогает.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]