IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

module de notation [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 39
    Par défaut module de notation
    Bonjour,

    j'ai crée un module de notation de mes chroniques. Lorsque la personne vote pas de porblème ça enregistre dans la table notation : la note, l'id, et l'id_chronique
    J'ai voulu corser le tout en affichant la moyenne des notes de la chronique mais je ne sais pas quoi mettre dans mon array ???

    voilà une partie de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <FORM method="post" name="form1" action="<?php echo $editFormAction; ?>">
    	<select size="1" CLASS="cm" name="note">
            <option value="0">0/10</option>
            <option value="1">1/10</option>
            <option value="2">2/10</option>
            <option value="3">3/10</option>
            <option value="4">4/10</option>
            <option value="5">5/10</option>
            <option value="6">6/10</option>
    		<option value="7">7/10</option>
            <option value="8">8/10</option>
    		<option value="9">9/10</option>
    		<option value="10">10/10</option>
            </select>
              <input type="submit" CLASS="cm"  value ="Voter">
    	 <input name="id_chronique" type="hidden" id="id_chronique" value="$id_chronique">
    <input type="hidden" name="MM_update" value="form1"> - Moyenne : <?php 
    $sq1 = "SELECT * FROM notation WHERE id_chronique=$id_chronique"; 
    $rst=mysql_query($sq1); 
    $total = mysql_num_rows($rst); 
    [color=red]$somme = array();[/color]
    $notemoyenne = ($somme/$total);
    echo $notemoyenne; 
    ?></form>
    CA doit surement être tout con, mais je ne sais donc pas quoi mettre dans mon array pour afficher la moyenne des notes de la chronique !

  2. #2
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $sq1 = "SELECT * FROM notation WHERE id_chronique=$id_chronique"; 
    $rst=mysql_query($sq1); 
    $total = mysql_num_rows($rst); 
    $somme = array();
    $notemoyenne = ($somme/$total); 
    echo $notemoyenne; 
    ?>

    Fais le plutot en sql se sera plus simple..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $sq1 = "SELECT AVG(nomdelacolonnes) As moyenne FROM notation WHERE id_chronique=$id_chronique"; 
    $query=mysql_query($sq1); 
    $result = mysql_fetch_array($query , MYSQL_ASSOC );
    $notemoyenne = result[0];
    echo $notemoyenne; 
    ?>

    bye

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 39
    Par défaut
    Merci bien
    J'ai même trouvé qq chose de plus court

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       <?php 
    $moyenne = current(mysql_fetch_assoc(mysql_query("SELECT AVG(note) from notation WHERE id_chronique=$id_chronique"))); 
    echo (int)($moyenne);



    Par contre, j'ai une autre question... Comment faire pour qu'une fois qu'on ait voté, on ne puisse plus revoter ?
    (je voudrais que le bouton voter disparaisse et qu'à l aplace il y a ait écrit vous avez déjà voté )

    Un système de cookies ?

  4. #4
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Oui c'est le plus simple est le plus transversale face aux problèmes que cela soulève.

    Pour la solution plus courte perso je n'aime pas trop pare que si tu t'amuses à utiliser cela partout tu vas t'amuser pour relire ton code dans six mois, mais ce n'est que mon avis.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 39
    Par défaut
    Oki, merci, j'en prend note

    Citation Envoyé par jack1234
    Par contre, j'ai une autre question... Comment faire pour qu'une fois qu'on ait voté, on ne puisse plus revoter ?
    (je voudrais que le bouton voter disparaisse et qu'à l aplace il y a ait écrit vous avez déjà voté )

    Un système de cookies ?

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Citation Envoyé par ePoX
    Oui c'est le plus simple est le plus transversale face aux problèmes que cela soulève.

    Pour la solution plus courte perso je n'aime pas trop pare que si tu t'amuses à utiliser cela partout tu vas t'amuser pour relire ton code dans six mois, mais ce n'est que mon avis.
    +1

  7. #7
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Citation Envoyé par jack1234
    Oki, merci, j'en prend note

    Citation Envoyé par jack1234
    Par contre, j'ai une autre question... Comment faire pour qu'une fois qu'on ait voté, on ne puisse plus revoter ?
    (je voudrais que le bouton voter disparaisse et qu'à l aplace il y a ait écrit vous avez déjà voté )

    Un système de cookies ?
    Oui le cookie semblent être la meilleur solution, desolé si je n'ai pas été très clair.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 39
    Par défaut
    J'ai à nouveau améliorer mon code pour que des images apparaissent en moyenne au lieu d'une note :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
             <?php 
    $sq1 = "SELECT * FROM notation WHERE id_chronique=$id_chronique"; 
    $rst=mysql_query($sq1); 
    $total = mysql_num_rows($rst); ?>
              <?php if ($total>0) {?>
              <?php 
    $moyenne = current(mysql_fetch_assoc(mysql_query("SELECT AVG(note) from notation WHERE id_chronique=$id_chronique")));
    $nombre=(round($moyenne))."/10";
    do {
    for ( $i=1; $i<=$nombre; $i++ )
    { 
    echo "<img src=\"design/note.gif\">"; 
    }
    } [color=red]while ($rst = mysql_fetch_assoc($?????));[/color]
     
     
    		   } else echo "-/10";
    ?>
    Mais je ne vois pas quoi mettre là où j'ai mis mes ???



    Oui le cookie semblent être la meilleur solution, desolé si je n'ai pas été très clair.
    oki merci, je vais m'y atteler

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 39
    Par défaut
    En fait j'ai trouvé, mon do{ ne servait à rien !!!

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 39
    Par défaut
    Bonjour,

    j'ai fait un module de notation... Mais vu qu'il y a des robots qui passe sur le site et des cliques sans faire exprès, la touche 0 est souvent cliquée. J'aimerai donc qu'un message d'erreur s'affiche au lieu d'enregistrer la note dans la bdd lorsqu'on vote 0/10 !

    Je suppose que je dois inclure une ligne de code dans le style
    <?php if ($note=0) { ?> Mais après je sais pas comment l'inclure dans mon code et où le meyttre

    Ci-dessous, voici mon code

    pb résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Module FTP.pm ?
    Par MSP dans le forum Modules
    Réponses: 4
    Dernier message: 04/08/2003, 15h49
  2. module Find
    Par martijan dans le forum Modules
    Réponses: 8
    Dernier message: 09/07/2003, 11h07
  3. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44
  4. PerlDoc sur une fonction d'un module
    Par lesouriciergris dans le forum Modules
    Réponses: 2
    Dernier message: 13/03/2003, 20h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo