Classer champs identiques
Résolu/Fermé
eBryde
-
16 févr. 2010 à 14:36
Blocks Messages postés 98 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 31 janvier 2011 - 16 févr. 2010 à 22:16
Blocks Messages postés 98 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 31 janvier 2011 - 16 févr. 2010 à 22:16
A voir également:
- Classer champs identiques
- Classer par ordre alphabetique excel - Guide
- Classer les applications par ordre alphabétique iphone - Guide
- Logiciel pour classer ses photos - Guide
- Classer automatiquement mail gmail - Guide
- Le nom du champs de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
4 réponses
Blocks
Messages postés
98
Date d'inscription
mardi 28 juillet 2009
Statut
Membre
Dernière intervention
31 janvier 2011
3
16 févr. 2010 à 14:46
16 févr. 2010 à 14:46
Perso j'aurais peut-être mis un champ dans la table des articles du style : nbrcommentaire
Tu pourrais l'incrémenter de 1 à chaque commentaire ajouté.
Ca permettrais de pas mal simplifier les choses, puis au moins tu pourrais mettre un truc tout simple :
Article sur la vache qui rit (16 commentaires)
Tu pourrais l'incrémenter de 1 à chaque commentaire ajouté.
Ca permettrais de pas mal simplifier les choses, puis au moins tu pourrais mettre un truc tout simple :
Article sur la vache qui rit (16 commentaires)
Merci pour ta réponse Blocks,
Je suis déjà parvenu à mettre le nombre de commentaire par article grâce à cette requête :
$nombre_coms = mysql_query('SELECT COUNT(*) AS nb_coms FROM commentaires_stats WHERE id_stats ="'.$donnees['id'].'"');
Que j'utilise à l'intérieur de la boucle qui affiche tous les articles... N'y aurait-il pas une solution sans ajouter de champ nbrcommenaire, avec un GROUP BY, pour classer par ordre decroissant ces groupes de id_stats identiques ?
En effet ajouter un champ ne m'arrange pas tellement étant donné que j'ai déjà pas mal de commentaires... =S
Je suis déjà parvenu à mettre le nombre de commentaire par article grâce à cette requête :
$nombre_coms = mysql_query('SELECT COUNT(*) AS nb_coms FROM commentaires_stats WHERE id_stats ="'.$donnees['id'].'"');
Que j'utilise à l'intérieur de la boucle qui affiche tous les articles... N'y aurait-il pas une solution sans ajouter de champ nbrcommenaire, avec un GROUP BY, pour classer par ordre decroissant ces groupes de id_stats identiques ?
En effet ajouter un champ ne m'arrange pas tellement étant donné que j'ai déjà pas mal de commentaires... =S
Blocks
Messages postés
98
Date d'inscription
mardi 28 juillet 2009
Statut
Membre
Dernière intervention
31 janvier 2011
3
16 févr. 2010 à 15:27
16 févr. 2010 à 15:27
Si tu ajoutes un champ, ce serait dans la table articles et non dans commentaires
De plus, ajouter un champ (si je ne me trompe pas), ca ne modifie pas les données que tu as déjà dans ta base.
Donc moi je ferais :
ajouter dans articles nbrcommentaires
$id_article = Array();
$requete = "SELECT * FROM articles";
$retour = mysql_query($requete);
while($donnes= mysql_fetch_array($retour)) {
$id_article[] = $donnes["id"];
}
// là j'ai récupéré tous les id des articles
foreach($id_article as $id) {
$requete = "SELECT COUNT(*) AS nbrcommentaire FROM commentaire WHERE `id_stat`=$id";
$retour = mysql_query($requete);
$donnees = mysql_fetch_array($retour);
$nbrcommentaire = $donnes["nbrcommentaire"];
$requete = "UPDATE article SET `nbrcommentaire`=$nbrcommentaire WHERE `id`=$id";
mysql_query($requete);
}
// là je remplis tous les champs nbrcommentaire dans la table article
Ca tu le fais une fois, puis après quand tu veux rajouter un commentaire, tu dis :
-> Va chercher nbrcommentaire dans l'article du commentaire
-> Le nombre de commentaire++
-> Met le nouveau nombre de commentaire dans article
Voili voulou, j'espère ne pas m'être trompé, et puis à part pour ma méthode je vois pas comment faire avec autre chose :/
De plus, ajouter un champ (si je ne me trompe pas), ca ne modifie pas les données que tu as déjà dans ta base.
Donc moi je ferais :
ajouter dans articles nbrcommentaires
$id_article = Array();
$requete = "SELECT * FROM articles";
$retour = mysql_query($requete);
while($donnes= mysql_fetch_array($retour)) {
$id_article[] = $donnes["id"];
}
// là j'ai récupéré tous les id des articles
foreach($id_article as $id) {
$requete = "SELECT COUNT(*) AS nbrcommentaire FROM commentaire WHERE `id_stat`=$id";
$retour = mysql_query($requete);
$donnees = mysql_fetch_array($retour);
$nbrcommentaire = $donnes["nbrcommentaire"];
$requete = "UPDATE article SET `nbrcommentaire`=$nbrcommentaire WHERE `id`=$id";
mysql_query($requete);
}
// là je remplis tous les champs nbrcommentaire dans la table article
Ca tu le fais une fois, puis après quand tu veux rajouter un commentaire, tu dis :
-> Va chercher nbrcommentaire dans l'article du commentaire
-> Le nombre de commentaire++
-> Met le nouveau nombre de commentaire dans article
Voili voulou, j'espère ne pas m'être trompé, et puis à part pour ma méthode je vois pas comment faire avec autre chose :/
Blocks
Messages postés
98
Date d'inscription
mardi 28 juillet 2009
Statut
Membre
Dernière intervention
31 janvier 2011
3
16 févr. 2010 à 22:16
16 févr. 2010 à 22:16
Mouarf de rien =)