php mysqli 唯一首字符未正确出现

php mysqli Unique first character is not coming properly

我正在尝试根据另一个 table 的值从 table 获取数据。 但是它多次显示字符。

来自 articles table 我得到了 DISTINCT mem_id,因为我不想显示没有发布任何文章的用户。

注意:两个table来自不同的数据库。

$query1 = mysqli_query($dba, "SELECT DISTINCT mem_id from articles
WHERE status = 1
");
while ($QR1 =   mysqli_fetch_array($query1)){
    
$query2 = mysqli_query($dbf, "SELECT DISTINCT LEFT(mem_name, 1) mem_name from mem_user
WHERE mem_id in ('".$QR1['mem_id']."')
and article = 1 and status = 1
");
$char_rows  =   mysqli_num_rows($query2);
$chars  =   mysqli_fetch_array($query2);
$char = strtoupper(substr($chars['mem_name'], 0, 1));

echo '<a class="btn btn-xs loadAlphabet" name="'.$char_rows.'" 
value="'.$char.'"
id="'.$char.'"
style="border: 1px solid #ddd; margin-bottom: 5px;">'.$char.'</a>'. "\n";

}

为什么不只在 req 上使用 join 语句?

像这样:

SELECT DISTINCT LEFT(mu.mem_name, 1) mem_name
FROM Db1.article a
JOIN Db2.mem_user mu ON mu.mem_id = a.mem_id
WHERE mu.article = 1 and mu.status = 1 and a.status = 1