Рассмотрим следующий кодmysql_query возвращение неправильный результат
if (isset($_SESSION['FBID']) ) {
$uid = $_SESSION['FBID'];
$sql = "SELECT *, count(member_nr) AS notifyMe
FROM poolWinners
WHERE member_nr = '$uid' AND notification ='1'";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result)){
$notification = $row['notifyMe'];
}//while
if ($notification > 0) {
echo '<span class="badge">' . $notification . '</span>';
} //if
var_dump($notification);
} //isset($_SESSION['FBID'])
Данный скрипт возвращает сколько уведомлений член имеет, как вы можете видеть на картинке ниже
Моя проблема
скрипт возвращает неверный результат (неверное количество уведомлений). Взгляните на приведенную ниже таблицу, номер члена отображается 3 раза в таблице так: $notification = $row['notifyMe']
Should = 3 AND NOT 1
Что мне здесь не хватает или что-то не так? Спасибо за чтение
сумму до значения в колонке уведомления? так как они выглядят как 1 для каждого, как этот 'select sumNot from poolWinners, где member_nr = '$ uid' AND notification = 1;' нет необходимости перебирать результаты, получить сумму прямо –
или сделать 'select count (member_nr) from poolWinners, где member_nr = '$ uid' и notification = 1; ', и используйте счет вместо суммы, чтобы избежать значений« уведомления »больше 1. снова выполните полное значение прямо, нет необходимости перебирать результирующий набор –