Moyenne avec requête bdd
15 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Moyenne avec requête bdd
Bonsoir à tous !
Voilà ! J'aimerais faire une moyenne de notes stockées dans une base de données. J'ai déjà fais ceci :
Mais ça m'affiche toujours "Pas de note" ! J'ai essayé d'autre truc mais c'est pire
!
Voilà ! J'aimerais faire une moyenne de notes stockées dans une base de données. J'ai déjà fais ceci :
- Code: Tout sélectionner
mysql_query( "SELECT COUNT(*)'$nb_note' FROM `avis` WHERE `ref_id`='$id'" );
$requete_note = mysql_query( "SELECT * FROM `avis` WHERE `ref_id`='$id'" );
while ( $note = mysql_fetch_array( $requete_note ) ) {
$total = ( $total + $note["note"] );
}
if ( $nb_note == 0 ) {
echo "<p>Pas de note</p>";
} else {
$moyenne = ( $total / $nb_note );
echo "<p>Note : ". $moyenne ."</p>";
}
Mais ça m'affiche toujours "Pas de note" ! J'ai essayé d'autre truc mais c'est pire
C'est pas top top comme script ...
Y'a plusieurs trucs qui fonctionne pas et y'a moyen de faire plus simple.
Déja ta variable $nb_note n'est pas déclaré et n'est pas incrémentée
-> $nb_note++; dans ta boucle
edit...
[mode=je fais tout
]
SELECT AVG(note) FROM `avis` WHERE `ref_id`='$id' GROUP BY ref_id;
Ca devrait être ok ...
[/mode]
Y'a plusieurs trucs qui fonctionne pas et y'a moyen de faire plus simple.
Déja ta variable $nb_note n'est pas déclaré et n'est pas incrémentée
-> $nb_note++; dans ta boucle
edit...
[mode=je fais tout
SELECT AVG(note) FROM `avis` WHERE `ref_id`='$id' GROUP BY ref_id;
Ca devrait être ok ...
[/mode]
Dernière édition par sonikbuzz le Lun Oct 02, 2006 1:08, édité 1 fois.
sonikbuzz a écrit:C'est pas top top comme script ...
Y'a plusieurs trucs qui fonctionne pas et y'a moyen de faire plus simple.
Bah j'ai cherché pendant un moment sur le net mais j'ai rien trouvé qui me convienne... Si tu as ça en stock je veux bien !
J'ai ajouter $nb_note++; mais ça ne change pas grand chose !
j'ai rien compris
pourquoi la première requete ?
on ne formate pas de variables numeriques avec l'apostrophe dans une clause
si tu veux connaitre le nombre de éléments dans un champs et pour un id
ça se fait de plusieurs manières
avec un count ou avec un mysql_num_rows
rog
pourquoi la première requete ?
on ne formate pas de variables numeriques avec l'apostrophe dans une clause
si tu veux connaitre le nombre de éléments dans un champs et pour un id
ça se fait de plusieurs manières
avec un count ou avec un mysql_num_rows
rog
rog a écrit:j'ai rien compris
pourquoi la première requete ?
on ne formate pas de variables numeriques avec l'apostrophe dans une clause
si tu veux connaitre le nombre de éléments dans un champs et pour un id
ça se fait de plusieurs manières
avec un count ou avec un mysql_num_rows
rog
J'ai essayé avec un COUNT mais ça n'a rien donné ! Le première requête, j'ai simplement oublier de la viré ! Par contre je n'ai jamais utilisé mysql_num_rows, je ne vois pas trop ce qu'elle retourne !
sonikbuzz a écrit:SELECT AVG(note) FROM `avis` WHERE `ref_id`='$id' GROUP BY ref_id
Soit je suis nul, soit y a d'autre truc qui bloque !
Voilà ce que j'ai fais avec :
- Code: Tout sélectionner
$moyenne = mysql_query( "SELECT AVG(`note`) FROM `avis` WHERE `ref_id`='$ref_id' GROUP BY `ref_id`" );
if ( $moyenne == 0 ) {
echo "<p>Pas de note</p>";
} else {
echo "<p>Note : ". $moyenne ."</p>";
}
Ca affiche toujours : " Note : Resource id #(un chiffre) " !
lol
faudrait quand meme apprendre les bases
les fonctions du type mysql_query ne retournent pas de résultat
elles retournent un identifiant de ressource
il faut ensuite monter la ressource pour en extraire le résultat
il y a un tas de fonction pour ça, la plus simple est mysql_result
rog
faudrait quand meme apprendre les bases
les fonctions du type mysql_query ne retournent pas de résultat
elles retournent un identifiant de ressource
il faut ensuite monter la ressource pour en extraire le résultat
il y a un tas de fonction pour ça, la plus simple est mysql_result
rog
Désoler...
Ca fais trois que j'apprend le PHP en regardant d'autres scripts, j'ai quasiment pas utilisé mysql_result. Je l'avais carrément zappé !
Maitenant le problème c'est que une erreur :
Warning: Wrong parameter count for mysql_result()
Je ne vois pourquoi, dans phpMyAdmin la requete est bonne !
Maitenant le problème c'est que une erreur :
Warning: Wrong parameter count for mysql_result()
Je ne vois pourquoi, dans phpMyAdmin la requete est bonne !
essaies ça
( "SELECT AVG(note) as result FROM avis WHERE ref_id = $ref_id GROUP BY ref_id
ça crée un champ virtuel pour le resultat (si la table en a deja un, faut changer de nom)
et si ça marche pas
postes ta ligne de code mysql_result
rog
( "SELECT AVG(note) as result FROM avis WHERE ref_id = $ref_id GROUP BY ref_id
ça crée un champ virtuel pour le resultat (si la table en a deja un, faut changer de nom)
et si ça marche pas
postes ta ligne de code mysql_result
rog
J'ai toujours la même erreur qui me rapporte à cette ligne :
Je suis plus trop sûr de comment utiliser mysql_result !
- Code: Tout sélectionner
$moyenne = mysql_result( "SELECT AVG(`note`) AS resultat FROM `avis` WHERE `ref_id`='$id' GROUP BY `ref_id`" );
Je suis plus trop sûr de comment utiliser mysql_result !
Merci (encore une fois) rog ! Ca marche !
J'ai fais ceci :
En plus, je dormirais moins con ce matin !
J'ai mis le @ pour qu'il ne m'envoie pas d'erreur si c'est vide !
J'ai fais ceci :
- Code: Tout sélectionner
$moyenne = @mysql_result( mysql_query( "SELECT AVG(`note`) AS resultat FROM `avis` WHERE `ref_id`='$id' GROUP BY `ref_id`" ), 0 );
En plus, je dormirais moins con ce matin !
J'ai mis le @ pour qu'il ne m'envoie pas d'erreur si c'est vide !
C'est mieux de faire comme ca :
Pour des questions de perf mieux vaut récuperer les resultats dans des "integer array" en plus ca évite de faire des "AS" .
- Code: Tout sélectionner
$query = "SELECT AVG(note) FROM avis WHERE ref_id='$id' GROUP BY ref_id";
$result = mysql_query($query);
$record_array = mysql_fetch_array($result, MYSQL_NUM);
$moy = $record_array[0];
Pour des questions de perf mieux vaut récuperer les resultats dans des "integer array" en plus ca évite de faire des "AS" .
sonikbuzz a écrit:C'est mieux de faire comme ca :
- Code: Tout sélectionner
$query = "SELECT AVG(note) FROM avis WHERE ref_id='$id' GROUP BY ref_id";
$result = mysql_query($query);
$record_array = mysql_fetch_array($result, MYSQL_NUM);
$moy = $record_array[0];
Pour des questions de perf mieux vaut récuperer les resultats dans des "integer array" en plus ca évite de faire des "AS" .
Je vais faire des tests et je vois lequel me plait le plus !
15 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Comment Google indexe et classe les documents
- Suivi du regard : analyse des résultats de Google
- Informations sur l'infrastructure technique de Google
- Yahoo et MSN chutent en février 2009 aux US, selon comScore
- Parts de marché des moteurs aux USA en mai 2009 (comScore)
- Répartition des clics sur les 10 premiers résultats Google
- Les meilleurs annuaires, classés par Page Strength
- Statistiques des requêtes sur les moteurs en 2006
- Google facilite les recherches par site
- Nombre moyen de mots par requête : statistiques AOL Août 2006
- [Résolu] N'afficher une requete que si le champ de la BDD...
- Affichage des resultats sur requete dans bdd
- PR 5 passé à 3 moyenne de 4
- moyenne php
- moyenne de revenus
- Cumul ou moyenne de diffusions
- Durée moyenne de visite
- Nombre de bots en moyenne ?
- Combien de visiteurs en moyenne venant de GG ?
- moyenne du PR des liens externes
- cpc - moyenne dans 10 site différent
- Combien gagnez vous en moyenne?
- Durée moyenne d'une visite
- Combien de temps d'attente en moyenne ?
- Combien coute un référencement en moyenne ?
Consultez la description détaillée des produits ou services de Google suivants : Google Feed Fetcher
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités






le forum