2016-08-01 30 views
0

我正在制作查询系统,其中一个人发布查询,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。

+1

呼应每一行 – 1000111

+0

感谢您的答复,但询问ID 70应该有1人反对,就
它给我所有的计数值,对70后添加换行符..等 –

+0

谢谢,解决了。 –

回答

0

只有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"; 
相关问题