首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >具有数据表的PHP数组

具有数据表的PHP数组
EN

Stack Overflow用户
提问于 2018-06-24 03:40:16
回答 2查看 54关注 0票数 0

我一直在使用数据表,现在需要通过select/dropdown来过滤表,这应该会过滤我的一列。我的代码是:

<?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 ";

这在选择其中一个选项时非常有效。

我现在需要的是让用户能够选择所有的选项,包括低,中和高,我已经尝试了所有我能想到的方法,但它只是返回一个空表?

谢谢你的建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-25 06:10:17

我找到了一个解决方案,它恰好满足了我的需求,我想我应该分享一下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
EN

Stack Overflow用户

发布于 2018-06-24 03:55:40

使用这个,

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

如果用户选择优先级值,则将其分配给$urlPriority,否则将其设置为空。然后,它将检索每个结果

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51004495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档