PHP массивы с таблицами данных - PullRequest
0 голосов
/ 23 июня 2018

Я играл с таблицами данных, и теперь у меня есть требование отфильтровать таблицу с помощью выбора / выпадающего списка, который должен фильтровать один из моих столбцов. Мой код:

<?php
$urlPriority = $_GET['priority'];
if (empty($urlPriority)) {
  $urlPriority = 'High';
}
$priorityStatus = array('Low'=>'Low Priority', 'Medium'=>'Medium Priority', 'High'=>'High Priority');

echo createSelectControl('Priority', $priorityStatus, $urlPriority, -1, false, 'reload();')
?>

<script type="text/javascript">
function reload() {
  var priority = $("#Priority").val();
  location.search = '?priority=' + priority;

}
</script>

Я добавил строку кода в свой SQL-запрос:

$sql = "SELECT * from [table_name]
WHERE ... AND
Priority = '" . mssql_escape($urlPriority) . "' AND
etc AND
etc ";

Это прекрасно работает при выборе одного из вариантов.

Все, что мне сейчас нужно, - это чтобы пользователь мог выбирать все параметры, включая Низкий, Средний и Высокий. Я перепробовал все возможные способы, но он просто возвращает пустую таблицу?

Спасибо за любые предложения.

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Нашел решение, которое делает именно то, что мне нужно, думал, что поделюсь JSFiddle

   initComplete: function() {
  var column = this.api().column(2);

  var select = $('<select class="filter"><option value=""></option></select>')
    .appendTo('#selectTriggerFilter')
    .on('change', function() {
      var val = $(this).val();
      //column.search(val ? '^' + $(this).val() + '$' : val, true, false).draw();
      column.search(val).draw()
    });

   var offices = []; 
   column.data().toArray().forEach(function(s) {
        s = s.split(',');
      s.forEach(function(d) {
        if (!~offices.indexOf(d)) {
            offices.push(d)
          select.append('<option value="' + d + '">' + d + '</option>');                         }
      })
   })    
}

http://jsfiddle.net/m1Ly9uxf/15/

0 голосов
/ 23 июня 2018

Используйте это,

if($urlPriority!="")
{
    //query with priority filter
}
else
{
    //query without priority filter
}

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

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