[RESOLU] Foreach, count multitables

Mammouth du PHP | 504 Messages

17 sept. 2012, 11:47

Bonjour à tous,

J'ai un petit soucis de récupération de variable. J'ai 2 tables, l'une avec des catégories et l'autre avec les utilisateurs stockés dans une autre table.

Je récupère les catégories utilisateurs

avec ce script
/* detail_base */
$i = 0;
$details_base = mysql_query("SELECT id, libelle
                     FROM default.sous_categorie_pro
                     order by id ");
while($detail_base = mysql_fetch_array($details_base)) {
	$content['details_base'][$i]['id'] = $detail_base['id'];
	$content['details_base'][$i]['libelle'] = $detail_base['libelle'];
	$i++;
}
et j'affiche dans ma page template comme cela
<?php

foreach($content['details_base'] as $detail_base) {
	
if(is_numeric($detail_base['id']))
echo '<li>
												'.$detail_base['id'].'-'.$detail_base['libelle'].'
												
												</li>';
																										
																								}
																								
																								?>
ça marche...

Par contre je veux faire un count sur la base utilisateur pour que ça me compte le nombre d'utilisateur présent dans chaque categorie mais ça ne marche pas. j'ai essayé ça
<?php

foreach($content['details_base'] as $detail_base) {
	
if(is_numeric($detail_base['id']))
echo '<li>
												'.$detail_base['id'].'-'.$detail_base['libelle'].'
												
												</li>';
												
$counts_base = mysql_query("SELECT count(id) from default.user_info WHERE user_sous_cat = .'detail_base['id'].' ");

echo '$counts_base';
																										
																								}
																								
																								?>
Si quelqu'un peux m'aider merci...

ViPHP
ViPHP | 2577 Messages

17 sept. 2012, 13:20

<?PHP
$counts_base = mysql_query("SELECT count(id) from default.user_info WHERE user_sous_cat = .'detail_base['id'].' ");
echo '$counts_base';
?>
La coloration syntaxique montre qu'il y a une erreur sans ta chaine de caractères et il manque un $ pour un nom de variable.

Pour obtenir une valeur, il faut faire une lecture (mysql_fetch_array par exemple) après le mysql_query().

Après un mysql_query(), il faut toujours tester la bonne exécution de la requête (mysql_error() ou mysql_errno()).

Mammouth du PHP | 504 Messages

17 sept. 2012, 15:25

Merci Mazarini

Résolu :wink: