Php 如何查询未知变量?

Php 如何查询未知变量?,php,mysql,Php,Mysql,我知道这听起来可能令人困惑,因此下面是详细的解释: 在一个表中,我有以下内容:customer\u id、agent\u id、brief\u is、added\u by 客户id是客户的id 代理id是服务代理 这是一个简短的描述 added_by保存添加它的客户或代理的id 现在,我可以通过查询客户id的添加方式获得结果,但现在我还想添加一个排序函数,该函数将显示添加方式为客户但由代理id添加的所有结果 我是否需要为添加的_设置另一个字段,或者是否有其他方式显示这些结果 查询示例:

我知道这听起来可能令人困惑,因此下面是详细的解释:

在一个表中,我有以下内容:customer\u id、agent\u id、brief\u is、added\u by

客户id是客户的id

代理id是服务代理

这是一个简短的描述

added_by保存添加它的客户或代理的id

现在,我可以通过查询客户id的添加方式获得结果,但现在我还想添加一个排序函数,该函数将显示添加方式为客户但由代理id添加的所有结果

我是否需要为添加的_设置另一个字段,或者是否有其他方式显示这些结果

查询示例:

    /* 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("");
 }

  }

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

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

如果我理解正确,您希望通过限制不将结果排序到由代理而不是客户添加了_简短条目的结果来改进您的查询。 如果是这样,那么您所要做的就是向查询中添加一个额外的验证:agent\u id=added\u by。 现在,您的查询将如下所示:

SELECT brief_is, customer_id, agent_id, added_by 
FROM the_brief 
WHERE customer_id = '$id'
AND agent_id = added_by
编辑: 您的评论将我引向以下代码。请告诉我它是否正确:

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

你也可以用代替=

不太清楚,听起来你要求的是同一件事:

 SELECT brief_is, customer_id, agent_id, added_by FROM the_brief 
    WHERE agent_id= '$id'";
你说“加”是什么意思?如果您必须保留两种信息:

是谁加的 布雷菲指的是谁 那么你必须提供更多的信息


如果客户或代理只为自己添加一个摘要,则您不需要其他字段。

找到它。我所需要做的就是使用不等于客户id的,这将提供代理id

显示一个查询客户id的示例。如果代理与客户具有相同的id怎么办?像这样的字段的双重目的很少是一个好主意。$id是会话而不是代理的id。好吧,sry,但这不是很清楚。我认为id代表客户idlets这样说。其中customer_id=$id,但added_by不等于id。类似的内容将显示客户的内容,但不是他们添加的内容。让我们这样说。其中customer_id=$id,但added_by不等于id。类似的内容将显示客户的内容,但不是他们添加的内容。