0

これが状況です。

DBに2つのテーブルがあります:(tblcustomfieldsvaluesカスタムフィールドエントリ用)とtblclients(クライアントリストを含む)。

tblcustomfieldsvalues次のデータ構造があります。

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

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

tblclients次のデータ構造があります。

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

=10の配列を作成するためのこのコードがrelidsあります。id

$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 に答える