Géré plusieurs articles !

Résolu
Salut les gens ;). J'aurais besoin de vous car je ne sais pas trop comment faire pour géré plusieurs article donc plusieurs zone de commentaire ! J'aimerais savoir comment faire pour géré plusieurs article et plusieurs zone de commentaire car la seul idée que j'ai, c'est créer des base de données a chaque fois, mais je vais pas faire sa pour chaque articles quand même ? Car au bout d'un moment ça va quand même peser !

2 réponses

  1. Modérateur
    Bonjour
    je ne comprends pas trop ta demande. ..

    tu as juste besoin d'une table articles (id_art,libelle... )

    Une table commentaires (id_cmt, id_art, texte_cmt, date....)

    Un article pouvant avoir N commentaires...la liaison se faisant par l'id_art
    1. En faite si tu veut j'ai fais une base de données qui stock "id, pseudo, mot de passe et les commentaires" j'aimerais savoir si a partir de cet base de données on peut fonder plusieurs zones de commentaires ? Car moi avec cette base la a chaque fois que j'apelle les commentaires que sa sois sur l'article 1 ou sur l'article 3 j'aurais tous le temps les même commentaires !
      1. Modérateur
        Sans un dump de ta base montrant sa structure + quelques données. ..
        et sans voir le code que tu essais d'utiliser pour afficher tes données. .. impossible de t'aider
      2. Désolé je ne voulez pas trop vous embêtez avec sa !

        Voici mon Index :

        <?php
        session_start();
        ?>
            <head>
                <meta charset="utf-8" />
                <title>LNR-Blog</title>
        	<link href="style.css" rel="stylesheet" /> 
            </head>
                
        <body>
        <div class="conteneur">
        <div class="liens"><a href="logout.php">Deconexion    -  </a>
        <a href="membre.php">Acceuil</a><br><br></div><br>
        <div class="bienvenu"><?php echo "<h1>Bienvenue sur le blog : " .$_SESSION['pseudo']. "</h1>";
        ?></div>
        <div class="article2">	
        <br><div class="titre"><h1><br>Les amoureux</h1></div>
        <div class="elisa"><img src="elisa3.jpg"><br /></div>
        <div class="liens_commenter"><a href="commentaire.php">Commenter cet article</a> - <a href="commentaire2.php">Voir commentére</a></div> 
        </div>
        <div class="article2">	
        <div class="titre"><h1><br>Ballantines</h1></div>
        <div class="elisa"><img src="soiree.jpg"><br /></div>
        <div class="liens_commenter"><a href="commentaire.php">Commenter cet article</a> - <a href="commentaire2.php">Voir commentére</a></div> 
        </div>
        <p><br><br></p>
        	
        
        <?php
        if(isset($_SESSION['pseudo']))
        {}else{
        header('Location:login.php');
        }
        ?>
        </div>
        </body>


        ------------------------------------------------------------------------------------

        Voici ma page pour afficher les commentaires et commenter :

        <?php
        session_start();
        if(isset($_SESSION['pseudo']))
        ?>
         <!DOCTYPE html>
            <head>
                <meta charset="utf-8" />
                <link rel="stylesheet" href="style.css" />
                <title>LNR-Commentaire</title>
            </head> <meta charset="utf-8" />
            <body>
        	<div class="conteneur">
        	
        <html>
        <div class="test2"><a href="logout.php">Me deconnecter / </a><a href="update.php">Changer mes informations / </a><a href="desinscrire.php">Se désinscrire / </a><a href="index.php">Blog </a>
        </div>
        <div class="test"><a href="Index.php">Retourd au blog</a></div>
        
        <div class="titre"><br><h1>Commenté : </h1></div>
        <div class="membre1">
        </html>
        <?php
        	
        // Connexion à la base de données
        try
        {
        	$bdd = new PDO('mysql:host=localhost;dbname=blablabla', 'root', '');
        }
        catch(Exception $e)
        {
                die('Erreur : '.$e->getMessage());
        }
        
        // Récupération des 10 derniers messages
        $reponse = $bdd->query('SELECT * FROM user ORDER BY ID DESC LIMIT 0, 20');
        // Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
        while ($donnees = $reponse->fetch())
        {
        echo '<p><strong>' .$donnees['username']. '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
        }
        
        $reponse->closeCursor();
        
        
        
        ?>
            <form action="commentaire.php" method="post">
                <p>
               <textarea name="message" id="message" rows="10" cols="50">Commentaire</textarea><br> 
        
                <input type="submit" value="Envoyer" />
        	</p>
            </form>
        <?php
        if(isset($_SESSION['pseudo']))
        {}else{
        header('Location:login.php');
        }
        ?>
            </body>
        	</div>
        	</div>
        </html>
        


        ------------------------------------------------------------------------------------

        L'insertion a la base de données :

        <?php
        session_start();
        if(isset($_SESSION['pseudo']))
        
        // Connexion à la base de données
        try
        {
        	$bdd = new PDO('mysql:host=localhost;dbname=blablabla', 'root', '');
        }
        catch(Exception $e)
        {
                die('Erreur : '.$e->getMessage());
        }
        
        // Insertion du message à l'aide d'une requête préparée
        $req = $bdd->prepare('INSERT INTO user(username, message) VALUES(:pseudo, :message)');
        $req->execute(array('pseudo' => $_SESSION['pseudo'], 'message' => $_POST['message']));
        
        // Redirection du visiteur vers la page du minichat
        header('Location: test51.php');
        ?>
      3. Ah oui effectivement j'avais zapper cet partis des jointures ! C'est sa de toujours vouloir aller trop vite ! Je vais suivre ce tutos ! Merci :)