Как посчитать количество строк запроса внутри цикла while?

у меня есть следующий код 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 должно быть 5, но он показывает 2, что мне делать, чтобы это работало

1

Решение

Я думаю, что это только подсчет сообщений от 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);
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector