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 :

2 requêtes et 1 boucle


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Points : 24
    Points
    24
    Par défaut 2 requêtes et 1 boucle
    bonjour
    Dans le cadre de mes news, j'aimerais ajouter un systeme de commentaires!
    Bon mon script est fait afin que les gens puissent laisser un message ou lire les messages postés!
    Par contre j'ai un problème concernant le comptage de mes news!

    Pour chaque news, je met 1lien pour lire les commentaires avec le nombre disponible, et 1 autre pour poster!
    j'effectue une requete avec count mais le comptage donne zéro (nul)!

    voilà les quelques lignes qui montre un test :

    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
     
    $recup = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
    $num = 0;
     
    while ($donnees = mysql_fetch_array($recup))
    {
    				$categorie = 'news'; 
    				$titre_com = $donnees['titre'];
    				$id_com = $num;
     
    				$count_com = mysql_query("SELECT COUNT(*) AS cpt_com FROM commentaires WHERE categorie='" . $categorie . "' AND titre_comment='" .$titre_com . "' ")or die (mysql_error());
    				$total_comm = mysql_fetch_array($count_com);
     
     
    				echo '<h3 class="liens_commentaires">'.$total_comm['cpt_com'].' commentaires </h3>';
     
    				$num++ ;
    }
    Pour 5 de mes news voilà ce que çà donne




    Alors que j'ai des résultats qui ne devraient pas être nul selon phpmyadmin

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Ton SELECT COUNT me semble étrange... Comment se présente ta table de commentaires ?
    Perso, j'aurais une table de ce style :
    commentaires (id, #id_news, #id_membre, date, titre, contenu)
    Tu disposerais du numéro de la news pour aller la chercher directement. La news étant en relation, je présume, avec la catégorie, tu n'aurais pas besoin d'enregistrer l'identifiant de la catégorie dans la news.

    Tu te retrouverais avec quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $result = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
     
    while ($news = mysql_fetch_assoc($result))
    {
                $count_com = mysql_query("SELECT COUNT(*) AS cpt_com FROM commentaires WHERE id_news='" .$news['id'] . "' ")or die (mysql_error());

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    bonjour
    alors ma table commentaire est de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    VALUES('', '" . $auteur . "', '" . $comment . "', '" . $id_com . "', '" . $categorie ."','".$date."','".$titre_com."' )
    en fait je mets une catégorie car ma table sert à la fois pour mes news, que pour mettre des commentaires sur des images, vidéo etc...
    ainsi ensuite j'établie un id au commentaire ainsi qu'un titre ( ces 2 criteres mennent au même mais bon ...).

    je suis donc obliger de mettre une condition dans ma requete mysql => where

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Oui, m'enfin ça ne change pas grand chose à la philosophie du bazar...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $result = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
     
    while ($news = mysql_fetch_assoc($result))
    {
                $categorie = 'news';
                $count_com = mysql_query("SELECT COUNT(*) AS cpt_com FROM commentaires WHERE id_news=$news['id'] AND categorie='$categorie')or die (mysql_error());

Discussions similaires

  1. [MySQL] requête update en boucle
    Par trimate dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/04/2008, 17h25
  2. [AJAX] requète AJAX en boucle
    Par Emcy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/04/2008, 11h30
  3. Requête dans une boucle.
    Par flamby6969 dans le forum VBA Access
    Réponses: 11
    Dernier message: 27/11/2007, 15h49
  4. Problème de requête dans une boucle avec ADOQuery
    Par Ekik dans le forum Bases de données
    Réponses: 8
    Dernier message: 14/05/2007, 16h07
  5. Réponses: 4
    Dernier message: 09/12/2005, 08h25

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