2017-01-08 3 views
0

В основном это система опроса и я хочу, чтобы подсчитать Да и никогда нет от моей таблицы результатов, которая имеетВыбор и отображение количества строк с одинаковым значением в таблице

| q1 | q2 | q3 | q4 | q5 | q6 | q7 | q8 | q9 | q10 | 

    | Yes | Yes | No | No | No | Yes | No | Yes | Yes | No | 

    | No | Yes | No | Yes | Yes | Yes | No | No | Yes | No | 

    | Yes | Yes | No | No | No | Yes | No | Yes | Yes | No | 

    | No | Yes | No | Yes | Yes | Yes | No | No | Yes | No | 

Например Я хочу, чтобы мой результат будет q1 = 2 нет в 2 Да и q2 = 4 Да 0 нет и так далее Тогда после того, что я надеялся, чтобы отобразить его в простой таблице, но я до сих пор понятия о запросе


<body> 

<form method="POST"> 


    <table border="1"> 

      <th>Answered Yes</th> 
      <th>Answered No</th> 
     </tr> 

     <?php 
     include("testdb.php"); 
     $result= mysqli_query($con, "SELECT * FROM results"); 

     if($result){ 

     ?> 


    </table> 

</body> 

ответ

1

Просто используйте логические выражения:

select ((q1 = 'Yes') + (q2 = 'Yes') + . . . + (q10 = 'Yes')) as numYes 

MySQL обрабатывает условное выражение в виде числа в числовом контексте, с 1 по истинным и 0 для лжи.

+0

@pinoy, их ответы правильны, в PHP части просто делать 'if ($ result = mysqli-> query (« ИСПОЛЬЗОВАТЬ ИХ ЗАПРОСЫ ЗДЕСЬ »)) {print_r ($ result); } ', это даст вам структуру полученного результата :) –

+0

сэр Я думаю, что я не делаю что-то правильно, не работает для меня – ranger

1

В MySQL (только) true является 1 и false является 0, поэтому суммированием условию рассчитывает сколько раз это правда:

select 
    sum((q1 = 'Yes') + (q2 = 'Yes') + ... etc) yeses, 
    sum((q1 = 'No') + (q2 = 'No') + ... etc) nod 
from mytable 
+0

Как насчет No's? – ranger

+0

@pinoy см. Отредактированный ответ – Bohemian

+0

Хорошо спасибо, но сэр, как я смогу отображать подсчеты Yes и No с использованием массива fetch? @bohemian – ranger

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