Я надеюсь, что эта проблема очень проста, я сам не могу найти решение, кажется.Я пытался гуглить часами, сводя меня с ума :) Хорошо, у меня есть сортировка drag'n'drop + (использующая scriptaculous и prototype для вашей информации) на моем index.php .Я использую этот код для отправки элементов, сброшенных в div, используя этот код:
<script type="text/javascript">
//<![CDATA[
document.observe('dom:loaded', function() {
var changeEffect;
Sortable.create("selectedSetupTop", {containment: ['listStr', 'selectedSetupTop'], tag:'img', overlap:'vertical', constraint:false, dropOnEmpty: true,
onChange: function(item) {
var list = Sortable.options(item).element;
$('changeNotification').update(Sortable.serialize(list).escapeHTML());
if(changeEffect) changeEffect.cancel();
changeEffect = new Effect.Highlight('changeNotification', {restoreColor:"transparent" });
},
onUpdate: function(list) {
new Ajax.Request("script.php", {
method: "post",
parameters: { data: Sortable.serialize(list), container: list.id }
onLoading: function(){$('activityIndicator').show(), $('activityIndicator2').hide()},
onLoaded: function(){$('activityIndicator').hide(), $('activityIndicator2').show()},
});
}
});
});
// ]]>
</script>
Я использовал этот код раньше, поэтому я "знаю", что он отправит мне данные на мой script.php страница. selectedSetupTop - это мой div, содержащий элементы.Не обращайте внимания на уведомление и ActivityIndicator .Моя script.php страница на данный момент выглядит так:
parse_str($_POST['data']);
for ($i = 0; $i < count($selectedSetupTop); $i++) {
$test .= $selectedSetupTop[$i];
}
echo "<script>alert('$test');</script>";
Я не могу получить никакого вывода в сообщении о предупреждении, оно просто пустое.Цель script.php - обновить строку в базе данных, и она будет выглядеть примерно так:
$sql = mysql_query("UPDATE table SET row = '$arrayInStringFormat' WHERE id = '1'") or die(mysql_error());
, где $ arrayInStringFormat преобразование массива $ selectedSetupTop в формат (1, 2, 3, 4).Я думаю, я решу это с помощью Implode или что-то, но проблема в разборе массива $ selectedSetupTop .Я не проходил между страницами вообще, очень признателен за помощь!Скажите, если мне нужно объяснить дальше.
Заранее спасибо!
'' '' ''
РЕДАКТИРОВАТЬ 1
Если это поможет, я использовал этот код до того, как узнаю, что отправлю мне данные и воспользуюсь им.Обратите внимание, что я не хочу выполнять свою задачу так, как я делаю ниже:
$querySetup = $_GET["s"];
parse_str($_POST['data']);
for ($i = 0; $i < count($selectedSetupTop); $i++) {
$sql = mysql_query("UPDATE " . $querySetup . " SET orderId = $i, hero_selected = 'n' WHERE imageId = $selectedSetupTop[$i]") or die(mysql_error());
}
'' '' ''
РЕДАКТИРОВАТЬ 2
Так оно и есть, но у меня все еще есть проблема, я не могу напечатать это.Я хочу как-то взорвать массив.