Enregistrer une moyenne faite à partir d'une autre table

Le problème exposé dans ce sujet a été résolu.

Bonsoir,

J'ai 1 table avec plusieurs notes correspondant à différents lieux.

Je fais une moyenne avec

1
$req = $bdd->query('SELECT AVG(moyenne) AS note FROM modale GROUP BY campings_id')

Ca fonctionne mais je n'arrive pas à enregistrer ces résultats dans ma 2e table pour pouvoir ensuite les afficher où je veux.

Je ne sais pas non plus sur quelle page mettre ça, parce qu'à chaque avis publié, la moyenne va changer et donc l'enregistrement dans ma 2e table doit changer aussi.

Du coup je ne sais pas comment m'y prendre :)

Merci pour votre aide

Effectivement, pour la page ou j'affiche les avis d'un seul camping, ça fonctionne très bien.

Là ou ça se corse, c'est pour la page ou je liste les campings avec une requête. Tout ce que j'arrive à faire, c'est afficher les moyennes de tous les campings même ceux qui ne sont pas sur cette liste.

J'ai essayé de mettre ma requête à l'intérieur de l'autre mais je dois mal m'y prendre parce que ça ne marche pas.

En fait j'ai une table campings qui affiche la liste des campings par département avec un SELECT tout simple.

Dans cette table j'ai fait une colonne note pour y enregistrer les moyennes globales de chaque campings ( ce que je n'ai pas réussi à faire ).

J'ai une 2e table qui contient tous les avis sur tous les campings avec une note moyenne par avis, et je calcule la moyenne globale avec avg().

Pour la page affichage des avis ça fonctionne, mais pour la page avec ma liste de campings…

C'est la que je bloque: soit pour enregistrer la moyenne globale dans la table campings (avec un UPDATE ?), soit l'afficher avec avg() pour chacun des campings.

J'ai réussi !!!

1
2
3
4
5
6
7
8
<?php 
                $req = $bdd->prepare('SELECT AVG(moyenne) AS note FROM modale WHERE campings_id = ?');
                $req->execute(array($donnees['id']));
                    while ($donnees = $req->fetch())
                    {
                        echo round($donnees['note']*2)/2 .'/10</span></p>';
                    }
            ?>

Je l'ai placé dans la boucle de ma première requête, là ou j'avais besoin.

J'avais déjà essayé mais ça allait pas du tout. Sûrement une erreur de balise toute bête.

En tous cas, ça y est :)

Merci pour ton aide

EDIT : Et M****, j'ai parlé trop vite.

Maintenant j'ai bien la moyenne affichée sur la liste des campings, mais en cliquant sur lire les avis, j'ai plus rien qui s'affiche…

J'y comprends vraiment rien.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte