Partage
  • Partager sur Facebook
  • Partager sur Twitter

recalcul de moyenne

    29 décembre 2005 à 14:10:23

    Bonjour à tous
    désolé ! c'est encore moi !
    Voilà : je crée une page avec un tableau ; je crée des varibles de calcul de moyenne et ensuite j'essaie d'insérer ces variables dans mon tableau.
    J'ai un parse erreur à l'endroit ou cimmence mon tableau html <table>

    <body>
    <?php
    mysql_connect("localhost","root","") or die("La connexion a échoué !");//accès à la la base de données
    mysql_select_db("cours");

    $query = 'SELECT poids, taille, age FROM fiche WHERE sexe="m"';
    $result = mysql_query($query) or die(mysql_error());

    $nbm = mysql_num_rows($result);

    $pm = 0;
    $tm = 0;
    $am = 0;

    while($row = mysql_fetch_assoc($result))
    {
    $pm = $pm + $row['poids'];
    $tm = $tm + $row['taille'];
    $am = $am + $row['age'];

    }

    $query = 'SELECT poids, taille, age FROM fiche WHERE sexe="f"';
    $result = mysql_query($query) or die(mysql_error());

    $nbf = mysql_num_rows($result);

    $pf = 0;
    $tf = 0;
    $af = 0;

    while($row = mysql_fetch_assoc($result))
    {
    $pf = $pm + $row['poids'];
    $tf = $tm + $row['taille'];
    $af = $am + $row['age'];
    }

    <table>

    <caption>Statistiques sur les individus</caption>

    <thead> <!-- En-tête du tableau -->
    <tr>
    <th></th>
    <th>Poids moyen</th>
    <th>Taille moyenne</th>
    <th>Age moyen</th>
    </tr>
    </thead>

    <tbody> <!-- Corps du tableau -->

    <tr>

    <th>Hommes</th>
    <<td>$pm</td>
    <td>$tm</td>
    <td>$am</td>
    </tr>
    <tr>
    <th>Femmes</th>
    <td>$pf</td>
    <td>$tf</td>
    <td>$af</td>
    </tr>

    </tbody>

    </table>

    mysql_close();//on ferme la base de données
    ?>
    </body>

    Le code php ne doit pas être au bon endroit LOL
    Je vous serais reconnaissant de m'aider
    merci d'avance à tous
    Manuel
    • Partager sur Facebook
    • Partager sur Twitter
      29 décembre 2005 à 14:12:22

      Salut
      déjà met ton code avec la balise Zcode qui convien car c'est ilisible
      Et fait un copier coller de ton erreur
      EDIT : l'erreur y est j'avai pas vu dsl :-°
      • Partager sur Facebook
      • Partager sur Twitter
        29 décembre 2005 à 14:12:24

        Il faut que fermes ta balise php ?> pcq c'est du code HTML !

        Donc avant ton <table> tu refermes la balsie PHP, et tu la réouvres à la fin ;)
        • Partager sur Facebook
        • Partager sur Twitter
          29 décembre 2005 à 14:13:43

          "echo" ne sert pas à rien.
          • Partager sur Facebook
          • Partager sur Twitter
            29 décembre 2005 à 14:13:51

            C'est normal:
            -Soit tu fermes ton tag <?php ?>
            -Soit tu fais echo '<table>';

            Mais mets ton code entre < code type="php"> < /code> (sans les espaces), c'est mieux :D

            ++
            aimak

            Edit : M'enfin §! :colere:
            • Partager sur Facebook
            • Partager sur Twitter
              29 décembre 2005 à 19:10:09

              merci pour vos réponse
              en fait j'avais essayé de fermer le tag avant table ; là il n'y a pas de message d'erreur mais il m'affiche un tableau avec 3 colonnes et deux lignes comme je veux mais au lieu de mettre dans chaque cellule les moyennes calculées il met :
              $mp $mt $ma
              $fp $ft $fa
              au ieu de m'afficher la valeur de ces variables
              Alors je me suis dit :" peut-être dois-je insérer le code php dans le html de la table pour qu'il mette les valeurs. Bon c'est vrai que je ne veux pas une chose simple. S'il s'agissait de créer un livre d'or, un compteur de visite alos là pas de problème ; j'ai tout celà dans les cours mais là..trouver un cours pour débutants qui explique comment faire un tableau statistique c'est une autre paire de manche LOL ! C'est pour celà, étant donné que j'ai appris le xhtml et le php sur le site du zéro...je me suis dit : "autant continuer à aller sur ce site !
              Manuel
              Manuel
              • Partager sur Facebook
              • Partager sur Twitter
                29 décembre 2005 à 19:16:56

                pourquoi tu utilises pas la fonction SQL faite pour calculer la moyenne ?
                SELECT AVG(poids) AS poids_moyen, AVG(age) AS age_moyen, AVG(taille) AS taille_moyenne FROM fiche WHERE sexe='m'


                ensuite pour les afficher :

                $valeurs = mysql_fetch_assoc($result); //$result = mysql_query(....)
                echo 'age moyen : '.$valeurs['age_moyen'].'<br/>
                poids moyen : '
                .$valeurs['poids_moyen'].'<br/>
                taille moyenne : '
                .$valeurs['taille_moyenne'].'<br/>
                '
                ;
                • Partager sur Facebook
                • Partager sur Twitter
                  29 décembre 2005 à 20:14:49

                  merci beaucoup bluestorm
                  moi vois-tu je connais bien la programmation SAS
                  par exemple dans ce cas :
                  data a; set table;
                  select age poids taille ;
                  proc means data=a;
                  var aga poids taille;
                  class by sexe;
                  ................
                  c'est pas pareil LOL
                  tu écris : echo 'age moyen : '.$valeurs['age_moyen'].'<br/>
                  poids moyen : '.$valeurs['poids_moyen'].'<br/>
                  taille moyenne : '.$valeurs['taille_moyenne'].'<br/>
                  ';
                  celà affiche les 3 valeurs mais moi ce que je veux c'est afficher poids_moyen dans une cellule du tableau, pareil pour age_myen ...c'est à dire entre les balises <td> et </td>

                  merci à toi
                  Vous vous y connaissez en php sur ce site même pour des cas comme le mien bravo !!
                  Manuel
                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 décembre 2005 à 10:51:56

                    bonjour
                    ça y est j'ai trouvé !! bien-sûr ce n'est peut-être pas l'élégance même ...
                    voilà le script :
                    query = 'SELECT AVG(poids) AS poids_moyen, AVG(age) AS age_moyen, AVG(taille) AS taille_moyenne FROM fiche WHERE sexe="m"';//calcul du poids moyen, taille moyenne et age moyen pour les hommes
                    $result = mysql_query($query) or die(mysql_error());
                    $valeurm = mysql_fetch_assoc($result); //$result = mysql_query(....)

                    $query = 'SELECT AVG(poids) AS poids_moyen, AVG(age) AS age_moyen, AVG(taille) AS taille_moyenne FROM fiche WHERE sexe="f"';
                    $result = mysql_query($query) or die(mysql_error());
                    $valeurf = mysql_fetch_assoc($result);

                    mysql_close();//on ferme la base de données

                    echo '<table><center> <!--affichage du tableau -->
                    <caption>Statistiques sur les individus</caption>
                    <thead> <!-- En-tête du tableau -->
                    <tr>
                    <th></th>
                    <th>Poids moyen</th>
                    <th>Taille moyenne</th>
                    <th>Age moyen</th>
                    </tr>
                    </thead>

                    <tbody> <!-- Corps du tableau -->

                    <tr>

                    <th>Hommes</th>

                    <td>
                    ',
                    ' '.$valeurm['poids_moyen'].' <!-- affichage de la variable -->
                    </td>
                    <td>
                    ',
                    ' '.$valeurm['taille_moyenne'].'
                    </td>
                    <td>
                    ',
                    ' '.$valeurm['age_moyen'].'
                    </td>
                    </tr>
                    <tr>
                    <th>Femmes</th>
                    <td>
                    ',
                    ' '.$valeurf['poids_moyen'].'
                    </td>
                    <td>
                    ',
                    ' '.$valeurf['taille_moyenne'].'
                    </td>
                    <td>
                    ',
                    ' '.$valeurf['age_moyen'].'
                    </td>

                    </tr>

                    </tbody>

                    </center></table>';
                    ?>
                    • Partager sur Facebook
                    • Partager sur Twitter

                    recalcul de moyenne

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown