Count avec jointure

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Count avec jointure

par Vaedan » 28 avr. 2006, 16:10

Il te suffit de chercher un peu ... C'est un message récent.

par etre » 28 avr. 2006, 16:06

Slt, et ca ferais comment parce que pour arriver à une requête qui fonctionne j'ai déjà bien galèré.

par Ryle » 28 avr. 2006, 16:03

Comme cela a été dit dans d'autres topics, (et je pense qu'oukileou ne me contredira pas ;)) je pense qu'il vaut mieux utiliser un count() dans sa requête pour compter le nombre d'enregistrement, plutot que le mysql_num_rows si l'on n'utilise pas les données rammenées :)

par etre » 28 avr. 2006, 15:49

Slt, merci j'ai trouvé :
$result=mysql_query("select u.id, us.titre_id  from news u, comment us WHERE u.statut='1' AND u.id=us.titre_id");
$numrows = mysql_num_rows($result);
echo " $numrows commentaires ";

par Vaedan » 28 avr. 2006, 15:25

Euréka ! Le limit tout seul ... pas bien ... Enleve ce limit ou alors mets quelquechose.

Conseil: Les mots clé en gras, ça t'aidera :)

Code : Tout sélectionner

SELECT a.champ FROM table a WHERE quelquechose = 'autrechose' AND cettechose != 'ça' LIMIT 10;
Conseil: Ordonner ta requete tu feras

Code : Tout sélectionner

SELECT a.champ FROM table a WHERE quelquechose = 'autrechose' AND cettechose != 'ça' LIMIT 10;
Conseil: Ces conseils tu appliqueras, timides tes erreurs seront !

par zeus » 28 avr. 2006, 15:19

Ensuite, quel est ta requête avec jointure. Car il est tout a fait possible de compter les résultats d'une jointure

par Vaedan » 28 avr. 2006, 15:17

Bonjour, comment par faire :
mysql_query( "......" ) or die( mysql_error() );

Count avec jointure

par etre » 28 avr. 2006, 15:07

Je cherche à faire un count avec 2 tables :

Table 1 : news
Champ : id - auteur_id - texte - statut
Table 2 : comment
Champ : id - titre_id - comment
---------------------

Le lien entre les 2 tables est id pour table 1 (news) et titre_id pour la table 2 (comment).
Je cherche à afficher le nombre d'enregistrement dans la table 2 (comment) quand statut de la table 1 (news) est à 1.

Pour l'instant j'en suis là, mais ca ne marche pas :
   $result=mysql_query("select u.id, us.titre_id  from news u, comment us WHERE auteur_id='$op' AND u.statut='1' AND u.id=us.titre_id limit;");
   while (list($id, $titre_id) = mysql_fetch_row($result)) {
      $result1=mysql_query("select id from comment where titre_id='$id'");
      if ($result1) {
         $numrows = mysql_num_rows($result1);
 echo "il y a $numrows commentaire(s)";
}  }
Et lorsque j'essaye de faire une jointure c'est pire.
Merci, pour votre aide !