Page 1 sur 3

Calcul après affichage requete

Posté : 05 août 2005, 23:31
par Manio 54
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

Re: Calcul après affichage requete

Posté : 06 août 2005, 07:46
par Cyrano
...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

Posté : 06 août 2005, 07:57
par Manio 54
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 !!!

Posté : 06 août 2005, 12:18
par @rthur
Tu peux nous fournir la structure de ta table (dans phpmyadmin, fais un export de la structure et copie-colle ici)

Posté : 06 août 2005, 12:45
par Manio 54
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 !!

Posté : 06 août 2005, 18:26
par Cyrano
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)

Posté : 07 août 2005, 01:28
par Manio 54
je vais essayer sa et puis je vous tiens au courant !!!

Posté : 07 août 2005, 10:51
par Manio 54
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]

Posté : 07 août 2005, 10:55
par Manio 54
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 !!!

Posté : 07 août 2005, 11:00
par Cyrano
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;
}
?>

Posté : 07 août 2005, 11:08
par Manio 54
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

Posté : 07 août 2005, 11:24
par Cyrano
Il est possible que la requête renvoie une erreur: as-tu testé ta requête directement via phpMyAdmin par exemple ?

Posté : 07 août 2005, 11:32
par Manio 54
je vais le faire tout de suite !!!

Posté : 07 août 2005, 11:36
par Manio 54
oui tu as raison sa renvoi une erreur !!

Posté : 07 août 2005, 11:37
par Cyrano
Donc ta requête n'est pas bonne, corrige-la et recommences ;)