[英]how to count the number of rows of a query inside a while loop?
我有以下PHP代碼
$thread_pick=mysqli_query($db,'SELECT * FROM u_mess WHERE participant_1="'.$display_name.'" OR participant_2="'.$display_name.'" ') or trigger_error(mysqli_error());
if(mysqli_num_rows($thread_pick) >= 1 )
{
while($row = mysqli_fetch_assoc($thread_pick))
{
$thread_pick_sub = mysqli_query($db,'SELECT * FROM u_mess_thread WHERE (thread_id="'.$row['thread_id'].'" AND mess_to="'.$display_name.'" )')or trigger_error(mysqli_error());
echo mysqli_num_rows($thread_pick_sub).'dsddsds';
$mess_num_count = mysqli_num_rows($thread_pick_sub);
}
}
我的問題:該表有兩個用戶,用戶1發送了3條消息,用戶2發送了2條消息,現在變量$mess_num_count
內的$mess_num_count
應為5,但它顯示2我該怎么做才能使其正常工作
我認為這只是計算來自user 2
的消息,所以它是2
!
要獲得5
您必須使用運算符+=
如下所示:
$mess_num_count += mysqli_num_rows($thread_pick_sub);
然后,代碼應如下所示:
$thread_pick=mysqli_query($db,'SELECT * FROM u_mess WHERE participant_1="'.$display_name.'" OR participant_2="'.$display_name.'" ') or trigger_error(mysqli_error());
$mess_num_count = 0;
if(mysqli_num_rows($thread_pick) >= 1 )
{
while($row = mysqli_fetch_assoc($thread_pick))
{
$thread_pick_sub = mysqli_query($db,'SELECT * FROM u_mess_thread WHERE (thread_id="'.$row['thread_id'].'" AND mess_to="'.$display_name.'" )')or trigger_error(mysqli_error());
echo mysqli_num_rows($thread_pick_sub).'dsddsds';
$mess_num_count += mysqli_num_rows($thread_pick_sub);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.