Comment compter les éléments d'un tableau ?

Mammouth du PHP | 804 Messages

10 sept. 2008, 19:18

Bonjour,

Comment puis-je compter les éléments d'un tableau ?

Mon tableau $Groupe[] que j'ai récupéré en sortie de requête et je voudrai récupérer le nombre éléments

je me suis orienté sur count mais je pense que ma méthode est mauvaise

$nbc_gp =  count($Groupe[$lazone]); 
je me casse la tête dessus, j'ai jamais utilisé cette fonction si quelqu'un pourrai me donner un peu plus d'explication dessus je lui en serais reconnaissant :?

merci d'avance

ViPHP
ViPHP | 4039 Messages

10 sept. 2008, 19:40

ben..
$nbc_gp =  count($Groupe); 
Sauf si $Groupe[$lazone] est en lui-même un tableau, mais je vois pas trop ce qui coince..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 804 Messages

10 sept. 2008, 19:58

oui j'ai essayé mais sans succès !

la seule méthode que j'ai trouvé c'est de créer un autre tableau associatif en sortie de requete mais si je pouvais faire mieu :? j'aimerai autant.
//requete 
$Groupe[$DB_case] ="ma chaine de car... $DB_case ";
$Nb[$DB_case] ++;
} // fin while

echo $Groupe[$lazone]."<br>";
echo "il y a ".$Groupe[$lazone]." éléments ";
merci Berzemus

ViPHP
ViPHP | 4039 Messages

10 sept. 2008, 21:54

Il affiche des erreurs, quand même ? Ce serait bizarre sinon..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 804 Messages

11 sept. 2008, 00:24

non aucune erreur je passe par AJAX

ViPHP
ViPHP | 4039 Messages

11 sept. 2008, 10:21

non aucune erreur je passe par AJAX
Oui mais tu peux quand même voire ce que te retourne ton script, non ?
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 804 Messages

11 sept. 2008, 11:16

voici le test suivant que j'ai fais
$test =  count($Groupe);
echo "test =".$test;
donne

Code : Tout sélectionner

test =8
8 semble être le nombre d'enregistrement groupés de ma base de donnée, mais j'avance rien c'est peu etre qu'un hasard

ViPHP
ViPHP | 4039 Messages

11 sept. 2008, 12:02

Euh.. ben 8, c'est la taille du tableau $Groupe..

Je crois qu'on se comprend mal, tu cherches à faire quoi, au juste ? Si c'est le nombre de rangées dans une DB que tu veux, c'est par une requête SQL (genre 'SELECT count(*) FROM ma_table') qu'il faut passer.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphanteau du PHP | 17 Messages

11 sept. 2008, 13:08

Tu veux compter le nombre de caractères de ta chaine ?

dans ce cas
strlen($Groupe[$lazone]);
sinon essaye d'être un poil plus clair.

Mammouth du PHP | 804 Messages

11 sept. 2008, 18:03

c'est vraiment pas simple à expliquer !

j'ai développé un jeu en ligne, php ajax html, sur ce jeu il y a une map avec 15 zones

sur chaque zone il y a des pions, mais il peut y en avoir plusieurs par zone

afin de connaître le nombre de pions dans chaque zone , j'exécute une requête sur une base de données où est indexé la position de mes pions.
$query = mysql_query("SELECT * FROM `matablepion` WHERE wolf_id_game=\"$idjeu\"  ");
	while($row = mysql_fetch_array($query)) {
	$DB_wolf_id_pion = $row['wolf_id_pion'];
	$DB_wolf_case = $row['wolf_case'];
	$DB_wolf_color = $row['wolf_color'];
	$DB_wolf_name = $row['wolf_name'];

$Gourpe_wolf_dog_name = $row['wolf_name'];
$Groupe[$DB_wolf_case].= "<img src=\"templade/".$DB_wolf_color."/4m.jpg\" width=\"25\" hspace=\"5\" border=\"0\"  align=\"absmiddle\" style=\"border: 1px solid #FFFFFF;\">".$Gourpe_wolf_name." <input type=\"radio\" name=\"pion\" id=\"pion\" value=\"$DB_wolf_id_pion\"><br>";
}
ensuite après une sélection de zones je génère un formulaire via Ajax, seulement il y a une condition sur le nombre de pions de la zone voulue, si je veux déplacer un seul pion un formulaire doit apparaître, sinon il apparaît différemment.

cette condition se vérifie par la variable que j'essaie de créer

la seule chose que j'ai réussie à faire pour l'instant s'est créé un autre tableau associatif, ça ne me gêne pas du moment où ça marche, mais si il y a une solution bien plus simple j'aimerais beaucoup la connaître.
$nb_pion_groupe[$DB_wolf_case] ++;

Eléphanteau du PHP | 17 Messages

11 sept. 2008, 18:58

tu peut utiliser

mysql_num_rows si tu ah une requête ne sélectionnant que les pions d'une case mais la apparemment tu sélectionne tout les pions de l'aire de jeux, donc soit utiliser un nombre que tu incremente (comme actuelement) soit une requête pour chaque case soit un count avec group by par case.

perso j'utiliserais le count je pense mais bon on a pas tout ton code et juste un apercu de ta bd!

Mammouth du PHP | 804 Messages

12 sept. 2008, 00:28

donc finalement je me suis pas trop mal débrouillé, merci pour le temps que vous m'avez accordé :wink: