我使用jQgrid中的Position表作为主要数据源。

Department

id | department
1  | field
2  | IT
3  | Marketing

Position

id | position    | department
5  | interviewee | 1
9  | advertiser  | 3
8  | developer   | 2

当我搜索ID和职位时,会得到结果,但是当我搜索部门时,除非使用ID(1、2、3),否则它将无法工作

我尝试实现if语句,其中搜索ID,职位和部门有不同的查询。

我的问题是,如果我使用更多的列,那么我将不得不对我使用的每个数据库表创建查询。

是否有替代方法?

编辑:

这是我当前的查询。

SELECT p.id AS id, p.position AS position, d.department AS department FROM position p LEFT JOIN department d ON p.department = d.id " . $where ." ORDER BY $sidx $sord LIMIT $start , $limit

$where变量是通过...获取的

function getWhereClause($col, $oper, $val){
    global $ops;
    if($oper == 'bw' || $oper == 'bn') $val .= '%';
    if($oper == 'ew' || $oper == 'en' ) $val = '%'.$val;
    if($oper == 'cn' || $oper == 'nc' || $oper == 'in' || $oper == 'ni') $val = '%'.$val.'%';
    return " WHERE p.$col {$ops[$oper]} '$val' ";
}

...请注意,我必须添加p。 到$ col以使搜索功能正常工作。

我已经试过了

if($col == 'Department'){
    return " WHERE d.$col {$ops[$oper]} '$val' ";
    }
    else{
    return " WHERE p.$col {$ops[$oper]} '$val' ";
    }

但是由于某种原因,无法识别if($col == 'Department')并跳转到else语句。

#1楼 票数:0

如果您想要一个仅包含职位ID,职位和部门名称的表,则可以使用:

SELECT position.id, position.position, department.department
FROM Position 
INNER JOIN department on position.department = department.id

这样,您可以在职位ID,职位和部门名称而不是ID上进行搜索。

  ask by JohnSmith translate from so

未解决问题?本站智能推荐:

1回复

在JQGrid中动态形成查询

我想从表中动态查询数据并根据登录的用户显示它。我有2个文件:其中一个是index.php,用于捕获用户的管理产品,例如: op1字符串包含与此类似的内容: 现在我想在我的jqgrid查询中添加它: 在回显sql命令时,我得到以下信息: 如何解决这个问题?
1回复

jqGrid集成工具栏搜索不起作用

我试图让我的页面上的集成搜索工具栏工作,但我没有运气。 常规搜索功能对我有用,但每当我在集成工具栏中输入任何内容时,它都会返回0结果。 这是我的jquery: 这是我的PHP代码: 我花了数小时的时间才能找到一个适用于常规搜索的PHP示例(请参见上文),但是似乎不适用于工
1回复

JQGrid,如何将JSON字符串发布到PHP进行处理并发送到数据库?

好的,我有多行要发送到数据库onclick的行。 创建所选数据行的字符串,并且萤火虫显示它们发布的内容。 但是我无法将其发布到php并作为新条目发送到数据库。 请help.Also我想发送到另一个表后,从数据库中删除行。 请我需要生与死的帮助。 jqgrid [edit]最终将其发
1回复

使用CodeIgniter在jqgrid中添加,编辑和删除已反映在数据库中的数据

与其他问题一样,Oleg对与jqgrid相关的查询的帮助非常有帮助和赞赏。 通过他的回答,我已经能够实现自己的目标。 尽管令我困扰的是editurl属性。 在大多数演示中,它只是someurl.php。 奥列格还说,这个php文件包含使用jqgrid发送给它的数据来编辑数据库的说明(
1回复

jqGrid:如何使用导航器中的添加行在数据库中插入数据?

这是我的jQuery脚本 insertDB.php 提交表格时没有任何反应。 我的数据库同样不会更新。 我在PHP中的发布变量不正确吗? 有没有一种方法来获取insertDB.php返回的内容并将其显示在jQuery中?
1回复

在jqgrid中设置我自己的列名

我想在jqgrid中添加我自己的列名,并且我想防止jqgrid根据SQL查询自动添加的列名。 我正在使用此代码来做到这一点,但它也得到了我在方法$grid->setColModel(null, null, $mylabels);未声明的列的名称$grid->setColMode
1回复

JQGrid标头“加倍”

我的第一个jqGrid实现存在问题。 网格正在渲染和加载数据。 分页正常。 但是,网格标题显示两次。 曾经作为固定头。 并作为滚动区域的第一行。 我正在使用MySql 5.5.11作为数据源,PHP 5.3.6,jQuery 1.6.1。和JqGrid 4.0.0。 后端网格的
1回复

用loadonce在jqgrid中分页?

我知道我可以为jqgrid设置loadonce标志,它将在本地缓存数据库中的数据。 如果一次加载一次,可以分页浏览数据吗? 还是假设我从MYSQL / php脚本获取数据,我是否仍需要使用“限制XXX”功能加载每个页面?