Géré plusieurs articles !

Résolu
BuddyLove_x52 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   -  
BuddyLove_x52 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   -
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

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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
BuddyLove_x52 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention  
 
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 !
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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
0
BuddyLove_x52 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention  
 
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');
?>
0
GrifOli Messages postés 2111 Date d'inscription   Statut Membre Dernière intervention   591
 
Salut buddy,

Suis les conseils de jordane, je ferais la même chose. Les articles sont dans une table A, alors que les commentaires sont dans une table B et tu lies les deux table par le id de l'article (on appelle cela une jointure entre les tables). Lis ce tutoriel pour t'aider à réaliser cela: https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916084-les-jointures-entre-tables
0
BuddyLove_x52 Messages postés 123 Date d'inscription   Statut Membre Dernière intervention  
 
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 :)
0