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
我正在尝试根据另一个 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