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 :

script en boucle [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut script en boucle
    Re bonsoir, voila j'ai un pet prb avec un script qui tourne en boucle.

    En faite je fais une requete sql, et recupère le nombre de ligne pour cette requete.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $requete="SELECT * FROM commentaires WHERE ID_PRODUIT=$id_produit AND VERROU=1";
    $result2=mysql_query($requete) or die (mysql_error());
    //echo $result2;
    $nb_result=mysql_num_rows($result2);
    //echo $nb_result;
    $resultats_commentaires=mysql_fetch_object($result2);
    je souhaite recuperer a chaque fois le champs note de la base, et l'aditioner a chaque lecture de la ligne en cours, afin de pouvroir après le diviser par le nombre de resultats total?

    afin que ceci me retourne la note moyenne du produi.

    le truc c'est que mon script tourne en boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $note=0;
    $note_bdd=0;
    $note_moyenne=0;
     
    	for($i=0;$i<$nb_result;$i++)
    	{
    	$note_bdd=$resultats_commentaires->NOTE;
    	$note=$note+$note_bdd;
    	}
    $note_moyenne=ceil($note/$nb_result);
    je dois me planter quelque part pour que sa foire comme ca.

    merci pour votre aide
    La programmation, c'est tout un art

  2. #2
    Membre confirmé Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Points : 540
    Points
    540
    Par défaut
    Tu vas gagner du temps si tu utilise les fonctions mysql pour faire des moyennes, par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT AVG(Note) FROM produit;

  3. #3
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut Boucle FOR ...
    Bonjour

    Ton code me semble correcte ...
    J'ai déjà entendu dire en cours PHP que la boucle FOR pouvait partir en vrille avec des comparateurs stricts essaie avec un "<=" ...

    MAis est tu sûr que c'est la portion de code que tu nous soumets qui faire boucler ton code ...
    Take it HiSy

  4. #4
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    slt,
    quand tu dis que ça foire et q ton script tourne en boucle, tu veux dire koi? que tu te retrouve dans une boucle infinie? et l'echo de ton $nb_result il donne koi?
    mais pourquoi tu cours?

  5. #5
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut
    Bon alors voila. j'ai essayé de faire ceci en sql
    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $moy="SELECT AVG(NOTE) FROM commentaires WHERE VERROU=1";
    $moyenne=mysql_query($moy);
    ceci me retourne uniquement ressource#id8

    8 correspond à la première note dans ma base.

    je ne comprend pas trop pourquoi ca fais sa.

    Pour ce qui est de le faire en php:

    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
     
    $nb_result=mysql_num_rows($result2);
    //echo $nb_result;
    $resultats_commentaires=mysql_fetch_object($result2);
    $);
     
    $note=0;
    $note_bdd=0;
     
    $note_moyenne=0;
     
    	for($i=0;$i<=$nb_result;$i++)
    	{
    	$note_bdd=$resultats_commentaires->NOTE;
    	$note=$note+$note_bdd;
    	}
    $note_moyenne=ceil($note/$nb_result);
    ceci ne tourne plus en boucle, mais ne me retorune pas la moyenne, mais uniquement la première note issu de la base

    je ne comprend plus trop la...
    La programmation, c'est tout un art

  6. #6
    Membre confirmé Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Points : 540
    Points
    540
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql="SELECT AVG(NOTE) as MOYENNE FROM commentaires WHERE VERROU=1";
    $SQL = mysql_query($sql);
    $RowSQL = mysql_fetch_assoc($SQL);
     
    echo "Moyenne = ".$RowSQL['MOYENNE'];
    voilà de cette facon, tu aura la moyenne dans un champ MOYENNE, exactement comme si c'étais un champ qui existait vraiment.

  7. #7
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut
    impeccable sa fonctionne nikel
    merci beaucoup
    La programmation, c'est tout un art

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

Discussions similaires

  1. Script shell boucle affichage
    Par ciou63 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 02/03/2010, 14h30
  2. Problème de script qui boucle
    Par numerodix dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 23/11/2009, 13h58
  3. script qui boucle sous Fx3 et pas sous ie6
    Par Peanut dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/02/2009, 09h43
  4. script qui boucle
    Par sam01 dans le forum Administration système
    Réponses: 2
    Dernier message: 23/08/2008, 15h27
  5. script avec boucle for
    Par gloglo dans le forum Langage SQL
    Réponses: 16
    Dernier message: 30/05/2007, 14h30

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