8796 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un petit soucis avec une requete, en fait j'ai une table qui contient plusieurs éléments (marque d'une voiture, année de la voiture etc...). Je souhaite afficher toutes les marques de voitures (ça, ça marche) et le nombre de voitures par marque (ça, ça marche pas). Voici ma requete :


		$IDmarque = 20;
		$listemarques = 'SELECT DISTINCT field_id, value from jos_flexicontent_fields_item_relations WHERE field_id='.$IDmarque.' ORDER BY value asc ';
		$NbreVoitures = 'SELET COUNT(*) from jos_flexicontent_fields_item_relations WHERE field_id='.$IDmarque.' ';
		
		$requete = mysql_query($listemarques);
		$resultat = mysql_fetch_row($requete);
			while($data = mysql_fetch_assoc($requete))
			{				
				echo '<p class="colonemarque"><a href="index.php?option=com_flexicontent&view=items&cid=3:voitures">'.$data['value'].'</a>('.$resultat[0].')</p>';
			}



Donc l'id 20 correspond a la marque, là au lieu de m'afficher le nombre d'éléments, il m'affiche l'id, en espérant que quelqu'un puisse m'aider, merci !
Modifié par exootia (03 May 2011 - 13:31)
Ci-dessous un screen de ma table

upload/37670-screen.jpg

La structure est pas top mais je peux pas la changer. En fait tous les enregistrements sont à suivre et chaque id 20 correspond donc a la marque de la voiture (ce que je récupère)
$NbreVoitures = 'SELET COUNT(*) from jos_flexicontent_fields_item_relations WHERE field_id='.$IDmarque.' ';  


Et ta requête avec un "c" à SELECT ne fonctionne pas ? Smiley biggrin
Modifié par Sylvain M (03 May 2011 - 14:00)
Oui en effet il manquait un "c" Smiley ohwell Mais même dans ce cas la, ça affiche pour chaque marque de voiture le nombre total de voiture au lieux du nombre de voiture par marque.

SELECT COUNT(field_id) from jos_flexicontent_fields_item_relations WHERE field_id=$IDmarque GROUP BY ChampNomMarque

Modifié par Sylvain M (03 May 2011 - 14:12)
En fait le soucis c'est que j'ai pas de "champNomMarque" vu que tout est dans la même table, et je sélectionne la marque via "field_id" (le field_id 20 correspond aux marques de voitures).

Du coup j'ai essayé
SELECT COUNT(field_id) from jos_flexicontent_fields_item_relations WHERE field_id=$IDmarque GROUP BY field_id


Mais ca m'affiche également le total Smiley decu
Par champNomMarque je voulais parler du nom du 4ème champs de ta table (celui où il y a les libellés des marques)
ah ok, c'est value. Du coup qd je fais ça, il me fou le nombre a 11 partout... et là je vous pas pkoi Smiley ohwell