Есть ли способ получить несколько значений выбора без сортировки в PHP? - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть множественный выбор, в котором мне нужно сохранить порядок, в котором я его выбрал. Проблема в том, что заказ сортируется.

//This is my multiple select...

<select multiple="multiple" name="sequence[]">
  <option value="A">A</option>
  <option value="B">B</option>
  <option value="C">C</option>
  <option value="D">D</option>
</select>

//This is my code in saving it to the database...

foreach($request->sequence_array AS $key=>$value){
  $sequence = new Sequence();
  $sequence->sequence = $value;
  $sequence->save();
}

Когда я выбираю C, A, B, мне нужно сохранить его в этом порядке, но вместо этого я получаю A, B, C.

1 Ответ

1 голос
/ 04 ноября 2019

Вы не можете ожидать результата так, как вы хотите.

Если вы не хотите изменять логику интерфейса и сохранять текущую форму, все, что вы можете сделать, это добавить к ней некоторый javascript (вы можете использовать jQuery или любой другой инструмент по вашему выбору) и сохранить порядок пользователявыберите действие в другое скрытое поле формы.

Затем на бэкэнде вы можете проанализировать активность пользователя и принять решение о заказе. В вашем случае, если вы видите, что пользователь просто выбрал C, A, а затем B, будет легко построить последовательность. Однако, если пользователь выберет что-то несколько раз, это будет сложнее

...