2017-01-08 1 views
0
in einer Tabelle die Anzahl der Zeilen mit dem gleichen Wert anzeigt

Im Grunde ist dies ein Vermessungssystem, und ich möchte das Ja des zählen und Neins von meiner Ergebnistabelle, dieAuswählen und

| 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 | 

Zum Beispiel hat ich mag mein Ergebnis q1 = 2 Neins 2 Ja und q2 = 4 ja 0 Neins und so weiter wird dann nach, dass ich hatte gehofft, dass es in einer einfachen Tabelle angezeigt werden, aber ich bin immer noch ahnungslos über die Abfrage


<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> 

Antwort

1

Verwenden Sie einfach Booleschen Ausdrücken:

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

MySQL behandelt einen bedingten Ausdruck als Zahl in einem numerischen Zusammenhang mit 1 für wahr und 0 für falsch.

+0

@pinoy, ihre Antworten sind richtig, nur in der PHP-Teil tun 'if ($ result = mysqli-> query (" HIER SIND IHRE FRAGEN ")) {print_r ($ result); } ', es wird Ihnen die Struktur des abgerufenen Ergebnisses geben :) –

+0

sir Ich denke, ich mache nicht etwas richtig, es funktioniert nicht für mich – ranger

1

In MySQL (nur) true ist 1 und false ist 0, so dass eine Bedingung zählt Summieren wie oft es ist wahr:

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

Wie wäre es mit den No's? – ranger

+0

@pinoy siehe bearbeitete Antwort – Bohemian

+0

Ok danke, aber Sir, wie kann ich die Anzahl der Ja und Nein mit Fetch Array anzeigen? @bohemian – ranger