Page précédente | Page suivante | Page : 1 2

Demande d'aide sur requete SQL (en PHP)
Hors ligne Fred-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 ligne Taffeur95 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 ligne Fred-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 ligne Taffeur95 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 ligne Fred-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 ligne Taffeur95 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 ligne Fred-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 ligne Taffeur95 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 ligne Fred-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 ligne Taffeur95 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...

Page précédente | Page suivante | Page : 1 2

Aide informatique | Communauté d'entraide informatique | Aide informatique | Forum d'assistance informatique | Forum-Vista | Formation informatique | Forum Informatique | Devenir partenaire