Requete Et count

Eléphanteau du PHP | 34 Messages

20 oct. 2009, 23:04

Bonjour,

voila le topo:

Soit une bdd qui se presente comme ceci:
id
categories
categories2
categories3
nom

et 3 entrées qui ont respectivement (id, categories, categories2, categories3, images)
x: 1-ville-fête-eau-marseille
y: 2-pays-eau-fête-paris
z: 3-eau-fête-public-region

Ma requete:
$data = mysql_query("SELECT DISTINCT categories, COUNT(*) as nom FROM infos_tbl  GROUP BY categories ORDER BY categories ASC"); // Requête SQL  

$nb_resultats = mysql_num_rows($data);
Donc cette requete recupère les différentes categories, les listes et va afficher le nombre d'entrée:
j'aurais donc à l'écran:
Ville (1 article) - pays (1 article) - eau (1 article).

Le problème c'est que vous voyez que 'eau' est présent dans les 3 entrées de ma base (danx x,y et z). Or il m'affiche 1 article.

Je voudrais donc qu'il m'affiche eau (3 articles).


Voila, j'essaye plusieurs truc depuis mais je bloque.

Merci

Eléphanteau du PHP | 34 Messages

21 oct. 2009, 00:00

J'ai pensé à définir avant une variable qui dit que quand categories=categories2, on ajoute.

Et après on fait GROUP BY $la_variable

Je suis vraiment dans le flou total

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

21 oct. 2009, 09:42

Tu as un soucis de modélisation de ta base.
Il aurait fallu avoir une table "catégorie", puis une table d'association entre ta table "infos_tbl" et "categorie"
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 34 Messages

21 oct. 2009, 18:35

avec une cle étrangere ?


Du genre:

La 1ere table avec comme champs:
id
nom
prenom
categories


Et une 2eme table avec comme champs
id
id categorie parent (cle etrangère)
categories2
categories3

comme ceci?