我正在创建一个查询系统,其中有人发布查询,db为该查询分配了一个id(query_id)。我在同一表的另一列query_reply_id中使用该query_id来存储发送电子邮件的数据。现在,我尝试计算通过该ID发送的电子邮件数量,以下代码为我提供了在MySQL中每个ID发送的电子邮件数量,但是当我调用它时,预览显示它结合在一起了。
$new_sql = "SELECT t.query_id, count(o.query_reply_id) mycount
from query t
left join query o on t.query_id = o.query_reply_id
Where t.query_form = 'contactus'
AND t.query_status= 'replied'
group by o.query_reply_id
order by t.query_reply_date DESC";
$new_run = mysqli_query($conn, $new_sql);
while($new_rows = mysqli_fetch_assoc($new_run)){
echo $new_rows['mycount'];}
query_id mycount
70 1
23 8
43 11
49 1
在预览中,针对每个查询显示18111。
最佳答案
之所以只能使用mycount值,是因为您回显的只是mycount值。
您需要在末尾添加一个换行符,并输出query_id值。也许有点像这样:
while($new_rows = mysqli_fetch_assoc($new_run)){
echo $new_rows['query_id'], ':', $new_rows['mycount'],"<br />";
}
就个人而言,因为这是表格数据,所以我很想使用表格。
这种事情:
echo "<table><tr><td>query_id</td><td>mycount</td></tr>";
while($new_rows = mysqli_fetch_assoc($new_run)){
echo '<tr><td>' ,$new_rows['query_id'], '</td><td>', $new_rows['mycount'],"</td></tr>";
}
echo "</table";