у меня есть следующий код 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, что мне делать, чтобы это работало
Я думаю, что это только подсчет сообщений от 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);
}
}
Других решений пока нет …