2016-04-06 2 views
0

Итак, у меня есть база данных, в которой регистрируется количество людей, присутствующих на собрании. таблица устанавливается следующим образом:php/mysql Подсчет количества элементов, соответствующих условию

name | status 
----+--------- 
Joe | No 
Jon | Yes 
Mike | Yes 

Я ищу, чтобы сделать, это подсчитать, сколько раз статус «Да», а затем выход, что на экране.

$yes_attending = 'SELECT status FROM attendees WHERE "status=Yes"'; 
$yes_result= $link->query($yes_attending); 
    if($yes_result=mysqli_query($link,$yes_attending)) 
    { 
     $yesCount = mysqli_num_rows($yes_result); 
    } else{ 
     echo '0'; 
    } 

Моя проблема заключается в том, что этот код возвращает 0, даже если у меня есть информация в базе данных, которая соответствует «Да» состояние.

+2

избавиться от этих котировок вокруг статуса = ДА – Neal

ответ

0

Вы производите свое условие, чтобы быть буквальным текстом и, следовательно, ошибкой. Измените его на

$yes_attending = "SELECT status FROM attendees WHERE status='Yes'"; 
0

Избавьтесь от кавычек вокруг status=YES

Сейчас ваш MySQL заявление недействительно.

1

Вы, кажется, не понимают, что mysqli_query() делает, он возвращается, если он выполняется или нет.

$sql = "SELECT status FROM attendees WHERE status='Yes'"; 

if($rsl = mysqli_query($link,$sql) != false){ 
    echo 'Query successfully executed'; 
    if($c = mysqli_num_rows($rsl) > 0){ 
     echo "The amount of results: '$c'"; 
    } else { 
     echo "There are no attendees that have an active status"; 
    } 
} else { 
    printf("Query failed: %s\n", mysqli_error($link)); 
} 

Кроме того, почему вы просите, чтобы выбрать статус? Я спрашиваю, потому что результат будет «Да».

+0

Чтобы быть справедливым, OP должен выбрать _something_, а 'status' так же хорош, как и все остальное. Хотя это было бы более эффективно, если бы оно использовало 'SELECT count (status) FROM ...' вместо этого - пусть база данных делает подсчет для вас, поэтому он просто возвращает одну строку. – andrewsi

+0

@andrewsi вы всегда можете выбрать 0, но я бы ожидал идентификатор или что-то еще, – Xorifelse

Смежные вопросы