如何为未知的变量做查询?

我知道这听起​​来problably困惑所以这里是详细的解释:

在一个表中,我有以下几点:CUSTOMER_ID,AGENT_ID,brief_is,added_by

  1. 客户ID是客户的ID
  2. 代理ID是服务代理
  3. brief_is是descritpion
  4. added_by持有要么谁补充,或谁补充其代理的客户的ID。

现在,我能够通过查询客户ID的added_by得到的结果,但现在我想还加入了排序功能,将显示所有结果,其中added_by是客户,而是由AGENT_ID补充说。

我是否需要设置其他领域added_for或有另一种方式来显示这些结果。

查询示例:

/* Get data. */ $sql="SELECT brief_is, customer_id, agent_id, added_by FROM the_brief WHERE dcustomer_id = '$id'"; $result=mysql_query($sql); $query = mysql_query($sql) or die ("Error: ".mysql_error()); if ($result == "") { echo ""; } echo ""; $rows = mysql_num_rows($result); if($rows == 0) { print(""); } elseif($rows > 0) { while($row = mysql_fetch_array($query)) { $cust = $row['customer_id']; $agent = $row['agent_id']; $brief = $row['brief_is']; print(""); } }

--------------解决方案-------------

如果我理解正确的话,你想通过限制(不排序),以提高您的查询的结果到的那些the_brief项由代理,而不是客户的增加。
如果是这样的话,那么你所要做的就是增加一个额外的验证,查询: agent_id=added_by
现在,您的查询将如下所示:

SELECT brief_is, customer_id, agent_id, added_by
FROM the_brief
WHERE customer_id = '$id'
AND agent_id = added_by

编辑:
您的评论使我下面code.Tell我,如果这是正确的:

SELECT brief_is, customer_id, agent_id, added_by
FROM the_brief
WHERE customer_id = '$id'
AND agent_id != customer_id

你也可以使用<>代替!=

下面的查询将返回由代理添加的特定客户的所有行:

SELECT customer_id, agent_id, brief_is, added_by
WHERE customer_id=<CUSTOMERID>
AND added_by IN (SELECT agent_id FROM agents)

这是不是很清楚,它的声音,你是问同样的事情:

SELECT brief_is, customer_id, agent_id, added_by FROM the_brief
WHERE agent_id= '$id'";

你的意思是添加什么? 如果你必须保持两种信息的:

  1. 谁加breief
  2. 谁是brefi指

那么你必须提供更多的信息。

如果客户或代理添加一个简短的本身只是你不需要其他领域。

找到了。 所有我需要做的是使用<>不等于CUSTOMER_ID,这将给予AGENT_ID

分类:php 时间:2015-03-16 人气:176
本文关键词: PHP和MySQL
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.720 (s). 11 q(s)