0

这是情况。

我在数据库中有两个表:(tblcustomfieldsvalues用于自定义字段条目)和tblclients(包含客户列表)。

tblcustomfieldsvalues具有以下数据结构:

id=> 10 relid=> 13 data=>somedataentry

id=> 10 relid=> 21 data=>someotherdataentry

tblclients具有以下数据结构:

id=> 13 firstname=> somename lastname=>somelastname

我有这段代码来创建一个数组,relids其中有id= 10:

$sql = mysqli_fetch_array(mysqli_query("SELECT * FROM `tblcustomfieldsvalues` WHERE `id` = '10'"));

$cids = array();

while ($row = $sql)
{
    array_push($cids, $row['relid']);
}

既然我已经有了那些用$cids数组中的一些数据填充了他们的自定义字段的用户 ID,我如何从这些用户那里获取详细信息tblclients

提前致谢。

4

3 回答 3

1
$sql = mysqli_fetch_array(mysqli_query("SELECT * FROM `tblcustomfieldsvalues` WHERE `id` = '10'"));

$cids = array();

while ($row = $sql)
{
    //array_push($cids, $row['relid']);
    $sql1 = mysqli_fetch_array(mysqli_query("SELECT * FROM `tblclients ` WHERE `id` = '$row['relid']'"));
    while ($row1 = $sql1)
    {
          //echo your output
    }
}

或者

 SELECT * FROM
 tblcustomfieldsvalues cv,tblclients c WHERE
 cv.id = 10 and cv.id = c.id
于 2013-02-08T04:39:17.413 回答
1

听起来你只需要使用一个INNER JOIN

SELECT t2.*
FROM tblcustomfieldsvalues t
  INNER JOIN tblclients t2 ON t.relid = t2.id 
WHERE t.ID = 10

祝你好运!

于 2013-02-08T04:42:23.623 回答
0

tblclients在不知道我不能确定的表结构的情况下,但听起来你可以只使用连接,而不是进行单独的查询和循环:

SELECT
    *
FROM
    tblcustomfieldsvalues
    NATURAL JOIN tblclients
WHERE
    id = 10
于 2013-02-08T04:38:18.843 回答