additionner les entrées dans une colonne de tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : additionner les entrées dans une colonne de tableau

par Kaoteknik » 12 nov. 2006, 21:30

Oups, oui, désolé... Je me précipite pour cliquer sur le bouton "résolu" ! :)

par Cyrano » 12 nov. 2006, 21:21

[Résolu] alors :?: :)

par Kaoteknik » 12 nov. 2006, 21:16

Mais qu'est-ce que je peux être idiot parfois !

Tu m'avais donné la bonne réponse depuis le départ... :oops:

Voici effectivement le code tel que j'aurai du l'écrire dès le début :
<?php
$requete="SELECT COUNT(prenoms) FROM ma_table WHERE mois<>''";
$affiche_resultat=mysql_query($requete) or die (mysql_error());
?>

<td>Total :<br/>
<?php
echo mysql_result($affiche_resultat, 0);
?>
</td>
Ca mérite le fouet ça !

En tout cas merci pour ta patience ! :)

par Cyrano » 12 nov. 2006, 21:00

et pourtant, regarde donc un peu l'exemple que j'ai mentionné au départ :-k

par Kaoteknik » 12 nov. 2006, 20:43

Je viens de comprendre que "mois" avait besoin qu'on lui passe un paramètre... Seulement je ne sais pas lequel. :(

Décidément, je suis bien mauvais !

par Cyrano » 12 nov. 2006, 18:38

regarde donc ta requête:

Code : Tout sélectionner

... WHERE mois
"mois".. quoi au juste ?

par Kaoteknik » 12 nov. 2006, 17:40

En fait le code corrigé est comme ceci :
<?php
$requete="SELECT COUNT(prenoms) FROM ma_table WHERE mois";
$affiche_resultat=mysql_query($requete) or die (mysql_error());
?>

<td>Total :<br/>
<?php
echo mysql_result($affiche_resultat, 0);
?>
</td>
En gros je n'ai changé que le paramètre 3 par 0... Il me sort bien un résultat, mais pas celui escompté.

par Cyrano » 12 nov. 2006, 17:26

Fais voir le code corrigé

par Kaoteknik » 12 nov. 2006, 15:10

Eh bien, ma requête sur phpMyAdmin retourne le bon résultat (40 maintenant), mais mon code php renvoie dans le tableau la valeur 4.

Est-ce un problème de formatage des chiffres ?

par Cyrano » 12 nov. 2006, 13:47

Teste ta requête dans phpMyAdmin : quand la requête sera au point et retournera le résultat attendu, alors seulement tu l'intègreras en PHP.

par Kaoteknik » 12 nov. 2006, 13:42

Bon, je n'ai plus de message d'erreur, il me reste néanmoins un problème : le résultat retourné est 4, alors que j'ai 38 champs remplis dans la colonne "mois".

par Cyrano » 12 nov. 2006, 13:26

Normal, le second paramètre que tu as mis est 3 au lieu de 0 alors que la requête ne retourne qu'un seul et unique nombre : c'est comme un tableau indexé et le premier index est donc 0 : par conséquent, remplace le 3 par 0 et refais l'essai.

par Kaoteknik » 12 nov. 2006, 13:14

Bon, je viens déjà de trouver un élément de réponse à mon erreur :

J'ai en effet placé un espace entre "COUNT" et "(prenoms) dans ma requête, ce qui a généré l'erreur "COUNT does not exist".

Ce problème est à présent résolu.

Reste qu'il me retourne maintenant une nouvelle erreur :

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 3 on MySQL result index 4 in /home.10.4/ma_base/www/php/tableau.php on line 273

J'imagine que mon paramètre 3 est la cause du problème... Je vais essayer de comprendre le schmilblick !

par Kaoteknik » 12 nov. 2006, 13:02

Je viens donc de modifier mon code par ceci :
<?php
$requete="SELECT COUNT(prenoms) FROM ma_table WHERE mois";
$affiche_resultat=mysql_query($requete) or die (mysql_error());
?>

<td>Total :<br/>
<?php
echo mysql_result($affiche_resultat, 3);
?>
</td>
L'erreur retournée est toujours la même ! :(

par Kaoteknik » 12 nov. 2006, 12:51

Donc oui, j'ai bien remplacé les noms des champs que tu as mis par ceux qui correspondent à ma base.

J'ai ensuite exécuté la requête sql directement dans phpMyAdmin, et elle s'est parfaitement effectuée, me retournant la valeur voulue.

Il me reste à voir comment utiliser la fonction mysql_result(). Mon problème vient sûrement de là et de l'echo ! :)