Сохранить ранг сгенерированных полей ввода - PullRequest
0 голосов
/ 12 октября 2011

Я застрял на чем-то, что я не могу исправить самостоятельно :( К сожалению ... Мне нужно сохранить ранг некоторых полей ввода, сгенерированных jQuery, в моей ТАБЛИЦЕ, позвольте мне объяснить:

Когда я нажимаю кнопку, я добавляю поле ввода на своей странице, каждое сгенерированное поле ввода имеет увеличенное имя (name0, name1 ...) и увеличенный идентификатор (item-1, item-2 и т. Д.)

Я использую сортируемую функцию jQuery, и все в порядке, я перетаскиваю свои поля, и они имеют свой порядок.

Я сериализую все, и это дает мне следующее: item [] = 0 & item; [] = 2 & item; [] = 1 & item; [] = 3 каждое поле имеет ранг. Что ж, теперь мне нужно сохранить этот ранг в моей БД С соответствующим полем (мой ТАБЛИЦА выглядит следующим образом: «id», «rank», поле «id» автоматически увеличивается)

Вот мой код:

ФУНКЦИЯ JS ДОБАВИТЬ ПОЛЯ:

$(function() {

 var item = 'item-';
 var i = 0;
 var k = 0;
 var deletebtn = "<div id='deletebtn'>delete this</div>";

 $("#button_add").live("click", function(){
   $('#reorder').append("<li id="+ item + i++ +" class='list_item'>" + "<input type='text' name='title"+ k++ +"' value='' kind='title' />" + deletebtn + "</li>");
 });
}); 

ДЛЯ ПОЛУЧЕНИЯ РЕЗУЛЬТАТА СЕРИАЛИЗАЦИИ:

newRank = $("#reorder").sortable("serialize");
 $("#rank").val(newRank); 

Это связано с полем ввода, чтобы получить сериализованное значение

<input type="hidden" id="rank" name="rank" value="" />

PHP для $ _POST ВВОДА ПОЛЕ:

    $rank = $this->input->post('rank'); 

// THIS WILL GIVE ME THE RESULT : item[]=0&item;[]=2&item;[]=1&item;[]=3

Есть идея сохранить ранг каждого поля, соответствующего их идентификатору, в моей БД? Любая помощь будет очень ценится!

1 Ответ

0 голосов
/ 12 октября 2011

Если я вас правильно понимаю, вы, конечно, могли бы создать массив из $rank и выполнить цикл для вставки в БД:

$ranks = explode("&", $rank); // gives an array 

foreach ($ranks as $r)
{
    // you'll have to do some string manipulation here
    $num = str_replace("item[]=", "", $r);

    // $num should now be a number - add it to your db below
    // ...
}

В вашем $ rank есть дополнительные точки с запятой, но не уверен, что это опечатка или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...