Salut à tous,
Je cherche à ajouter à une requête, ceci :
Compter le nombre de champ parmi les champs c3, c4, c5 de la table sondage où la valeur n'est pas NULL (par défaut), et l'affecter à un allias.
Ceci afin de récupérer le nombre de choix disponible lors de chaque sondage.
Mes deux tables sont construites de cette façon :
Les colonnes c1_tt, c2_tt, c3_tt, c4_tt, c5_tt ne servent qu'à enregistrer le résultat final de chaque vote lors du changement de sondage.
Comme vous l'aurez sans doute compris selon le sondage choisi, le nombre de réponse possible varie de 2 à 5 choix possible.
J'ai essayé de faire un truc du style :
$sql = "SELECT COUNT(choix) AS votes, choix, (COUNT(c3) + COUNT(c4) + COUNT(c5)) + 2 AS tt_choix
FROM sondage, sondage_vote WHERE sondage_vote.nom = (SELECT nom FROM sondage WHERE sondage.actif IS NOT NULL) GROUP BY choix;";
$req = mysql_query($sql) or die (mysql_error());
while( $a = mysql_fetch_array($req) )
{
echo $a['choix'];
echo $a['votes'];
echo '<br /><br />';
}
echo 'nbr choix : ' . mysql_result($req, 0, 'tt_choix') . '<br />';
Mais bien évidemment, ça ne fonctionne pas et me renvoi pour tt_choix la valeur de 6, donc 4 en enlevant le + 2
Alors que seulement 3 champs sont différent de NULL dans ma table.
Donc, comment faire pour compter parmi trois champ dans une ligne de la table sondage le nombre de champs où la valeur est autre que NULL ?
Merci.