Calcul après affichage requete

Eléphant du PHP | 199 Messages

05 août 2005, 23:31

Bonjour !!!
Mon code jexplique après
  <?php
include("../config.inc.php");
$reponse = mysql_query('SELECT * FROM mister');
while ($donnees = mysql_fetch_array($reponse) )
{
$reponse2 = mysql_query('SELECT * FROM coms WHERE wo='. $donnees['id'] .'');
while ($donnees2 = mysql_fetch_array($reponse2) )
{
echo 'Sa note : <span class="infos">'.$donnees2["note"].'</span><br />' ;
$total = $donnees2['note'] + $donnees2['note'];
echo $total;
}

}
?>
Alors j'aimerais que $total ait la valeur des notes portant l'id contenu dans wo qui est différent !! bref c'est dur a expliquer !!!

Merci

Mammouth du PHP | 19672 Messages

06 août 2005, 07:46

...bref c'est dur a expliquer ...
Précisément, et c'est donc compliqué à comprendre. Si tu arrivais à expliquer clairement et précisément ce que tu veux obtenir, tu trouverais toi-même les 3/4 de la réponse... :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 199 Messages

06 août 2005, 07:57

tu trouverais toi-même les 3/4 de la réponse..
Pas sur !!

Alors je reesaye je pense si je vous explique mes tables se sera peut etre plus simple (enfin j'espere) alors déja j'ai une table ou il y a tout les utilisateurs (ndlr mister dans le message precedant) et une autre qui contient les commentaires et des notes (chiffres) sur eux !! donc ma requete prend un id va chercher les notes qui concernent cette personne et affiche les notes (jusque la sa marche!!).

Après moi j'aimerais additionner toute les notes de l'utilisateur
Compris ?
j'espere que j'ai été plus clair !!!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 août 2005, 12:18

Tu peux nous fournir la structure de ta table (dans phpmyadmin, fais un export de la structure et copie-colle ici)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 199 Messages

06 août 2005, 12:45

ok .

CREATE TABLE `coms` (
`id` int(11) NOT NULL auto_increment,
`nom` varchar(255) collate latin1_general_ci NOT NULL default '',
`mail` varchar(255) collate latin1_general_ci NOT NULL default '',
`avis` text collate latin1_general_ci NOT NULL,
`wo` int(11) NOT NULL default '0',
`note` char(2) collate latin1_general_ci NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ;

--
-- Contenu de la table `coms`
--

INSERT INTO `coms` VALUES (1, 'Adeline', '[email protected]', 'tro mignon\r\nkiss', 1, '9');
INSERT INTO `coms` VALUES (2, 'Natacha', '[email protected]', 'tu es trop bo comme mec', 1, '10');

desole je savais pas le mettre dans quel code ?


Wo correspond a l'id de l'utilisateur qui est dans l'autre table !!

Mammouth du PHP | 19672 Messages

06 août 2005, 18:26

Sommairement, ta requête devrais avoir l'air de ça:

Code : Tout sélectionner

SELECT nom, SUM(note) as total FROM utilisateurs, coms WHERE utilisateurs.id = coms.id_utilisateur GROUP BY nom
À peu de choses près, ça te donnerait la liste des noms avec le total des notes pour chacun d'eux. (remplacer par les bons noms de tables/champs)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 199 Messages

07 août 2005, 01:28

je vais essayer sa et puis je vous tiens au courant !!!

Eléphant du PHP | 199 Messages

07 août 2005, 10:51

Quand je fais mon fetch array il me dit qu'il y a une erreur
Parse error: parse error, unexpected T_WHILE in /var/www/free.fr/1/4/manio54/master/classement2.php on line 25 !!
  <?php
include("../config.inc.php");
$reponse = mysql_query('SELECT prenom, SUM(note) as total
FROM mister, coms
WHERE master.id = coms.wo
GROUP BY prenom')
while ($donnees = mysql_fetch_array($reponse) )
{
echo $total;
}
?>
La ligne 25 est celle contenant le while !!![/code]

Eléphant du PHP | 199 Messages

07 août 2005, 10:55

Enfait j'ai vu dans un autre sujet que cette erreur est due a la requete SQL mais bon je ne sais pas non plus !!!

Mammouth du PHP | 19672 Messages

07 août 2005, 11:00

Ta requête est correcte, en revanche il manque un ";" de fin d'instruction après cette même requête :
<?php
include("../config.inc.php");
$reponse = mysql_query('SELECT prenom, SUM(note) as total
FROM mister, coms
WHERE master.id = coms.wo
GROUP BY prenom'); // <<=== Ne pas oublier le ";" de fin d'instruction ici
while ($donnees = mysql_fetch_array($reponse) )
{
    echo $total;
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 199 Messages

07 août 2005, 11:08

Maintenant j'ai le fond qui s'affiche mais aussi l'erreur la

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/1/4/manio54/master/classement2.php on line 25

Mammouth du PHP | 19672 Messages

07 août 2005, 11:24

Il est possible que la requête renvoie une erreur: as-tu testé ta requête directement via phpMyAdmin par exemple ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 199 Messages

07 août 2005, 11:32

je vais le faire tout de suite !!!

Eléphant du PHP | 199 Messages

07 août 2005, 11:36

oui tu as raison sa renvoi une erreur !!

Mammouth du PHP | 19672 Messages

07 août 2005, 11:37

Donc ta requête n'est pas bonne, corrige-la et recommences ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: