Demande d'aide sur requete SQL (en PHP)
Hors ligneFred-bst Le 23/06/2009 à 10:55 Profil de Fred-bst Configuration de Fred-bst

Bonjour à vous !!

De retour pour une nouvelle question sur SQL !
(Oui je sais !! Encore lui !!!!!! ... bref )

Voici ma table pour commencer:

Id    optiona      optionb      optionc
------------------------------------------
1     fred          1                 abc
2     fred          2                 abc
3     fred          1                 def
4     dupond     4                 ghi


Voilà, ma question c'est comme je peux faire pour afficher le résulta de "optionc" en nombre ...

Je voudrais que la requet compte combien y'a de "optionc" différent : un gros là y'en a 3 !

Est-ce que je suis assez claire ?

Merci à vous d'avance !
Hors ligneTaffeur95 Le 23/06/2009 à 11:32 Profil de Taffeur95 Configuration de Taffeur95

Salut, sous MySQl, oracle...

SELECT COUNT(DISTINCT optionC)
FROM taTable;

Par contre je crois que Access n'accepte pas la clause DISTINCT.

Hors ligneFred-bst Le 23/06/2009 à 12:10 Profil de Fred-bst Configuration de Fred-bst

Muhh !!

Donc j'ai ça :

$req = mysql_query("SELECT COUNT(DISTINCT optionC) FROM table");
$row     = mysql_fetch_row($req);

echo " $row[0] "

mais ça affiche pas ce que je veux !!

il m'en oublie 2 au résultat !
Hors ligneTaffeur95 Le 23/06/2009 à 12:38 Profil de Taffeur95 Configuration de Taffeur95

ça t'affiche quoi?
parce que déjà si tu mets ton tablau entre doubles quotes pour l'echo, il va t'afficher le nom du tableau et rien d'autre... ;)

et puis mets un OR DIE à la fin de tes requêtes, quand il y a une erreur sur elle, tu cherches pas pendant des heures
Hors ligneFred-bst Le 23/06/2009 à 13:12 Profil de Fred-bst Configuration de Fred-bst

Ca me met pas d'erreur justement la requête est bonne.
Mais j'arrive pas à afficher le résultat.

Oui c'est
echo $row[0];

Mais n'empêche que ça m'affiche en faite 1 mais normalement, ça devrais me mettre 3 !
Dans l'exemple ça devrais afficher 3, on est d'accord !
Hors ligneTaffeur95 Le 23/06/2009 à 14:18 Profil de Taffeur95 Configuration de Taffeur95

Salut, tu as testé la requête direct dans PhpMyAdmin?
Parce que chez moi, ça fonctionne sans problème...
Hors ligneFred-bst Le 23/06/2009 à 15:01 Profil de Fred-bst Configuration de Fred-bst

Dans phpmyadmin pas de probleme !

C'est pour le code pour affichier le résultat :

Si je met, comme je tel'ai dit en haut ça :

$row     = mysql_fetch_row($req);
$total  = $row[0];

echo $total;

Ben ça me met 1 au lieu de 3 !
Hors ligneTaffeur95 Le 23/06/2009 à 15:37 Profil de Taffeur95 Configuration de Taffeur95

C'est un truc de ouf, je viens de réessayer chez moi, j'ai reproduit exactement la même structure que toi et ça fonctionne nickel chrome !!!
Hors ligneFred-bst Le 23/06/2009 à 17:06 Profil de Fred-bst Configuration de Fred-bst

Bon !!!! zut alors =)

La table :


Id    optiona      optionb      optionc
------------------------------------------
1     fred          1                 abc
2     fred          2                 abc
3     fred          1                 def
4     dupond     4                 ghi


Normalement je fait cette requete suivante :

$req = mysql_query("SELECT DISTINCT optionc FROM table");

Là il selection que le colonne optionc et évite les doublons.
L'affichage de cette requete est :

$row = mysql_fetch_row($req);

Jusqu'a là on est d'accord:

Je déclare ma variable:

$total  = $row[0];

puis :

echo "$total";


Je pense que ça viens du row[0] !!
Hors ligneTaffeur95 Le 23/06/2009 à 20:57 Profil de Taffeur95 Configuration de Taffeur95

NON, j'ai testé avec exactement le même code!!
enfin sans les doubles quotes sur $total, mais sinon tout pareil...
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels