Recherche de tuto - commantaire

Edouard73 Messages postés 150 Statut Membre -  
Edouard73 Messages postés 150 Statut Membre -
Bonjour,

Voila, ma recherche risque de ne pas être très claire car je ne sais vraiment comment expliquer. enfin,

je cherche des tutoriaux ou exemple de code php me permettant de comprendre et réaliser l'ajoute de commantaire à la suite d'une news.

Pour l'ajout d'un commentaire comme une sorte de livre d'or je sais faire. Mais la ou je bloc c'est comment ajouter un commentaire sur une news qui a été généré par une base MYSQL.

Si vous auriez un début de réponse afin d'éclairer mes recherches de tutos ça serait super sympa.

merci.

edouard

9 réponses

raphy00 Messages postés 1112 Statut Membre 9
 
www.siteduzero.com
1
Edouard73 Messages postés 150 Statut Membre 11
 
merci pour le lien.

je connais mais je ne trouve pas ce que je désire en réalité sur ce site.
1
Edouard73 Messages postés 150 Statut Membre 11
 
coucou

merci pour les liens

mais n'existe t'il pas un exemple détaillé sur la réalisation d'un blog ?

du moins la ou je bloque c'est une fois la news est ajouté comment faire en sorte que la base crée une table propre à la news lui permettant d'ajouter les commentaire.
1
PhP Messages postés 1774 Statut Membre 606
 
Bjr

En fait c'est plus du côté de la structure de ta base de données MySQL que du code PHP qu'il faut te pencher

Si tu as un accès total à la structure de ta base MySQL alors le mieux est de créer une table commentaires par ex qui va contenir tous les commentaires pour toutes les news et surtout pas une table par news !

Si on suppose que dans ta table news chaque news est identifiée par une clé unique par ex news_id alors la structure de la table commentaires doit comporter un index composité basé par ex sur cmt_news_id + cmt_idx
cmt_news_id : identifiant dans la table news
cmt_idx : rang du commentaire pour une news donnée

1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Edouard73 Messages postés 150 Statut Membre 11
 
Bonjour,

je pige le truc. mais c'est la ou je bloc.

car en faite la news est généré via la base de donnée avec insert to. je n'ouvre pas mon editeur html pour inserer la news et la charger sur le ftp.

donc mon soucie est que si je comprends ton explication, a chaque news, je crée une table qui me permet de créer et stocké les commantaire pour une news.

Mais mon soucie est que je cherche justement, maintenant que c'est plus claire à créer une table (commentaire) automatiquement propre à une news chaque fois que je crée une news.

en gros :

je crée news 1. j'ai une table commentaire qui se crée.
je crée news 2. j'ai une table commentaire qui se crée.
...

Quand je crée news id 1, le insert to crée dans la base une table qui sera uniquement utilisé pour les commantaires de l'id news id 1.

donc si quelqu'un aurai un exemple de code complet (php et mysql) ou un lien vers un tuto ça serais super cool :)

Edouard
1
PhP Messages postés 1774 Statut Membre 606
 
en gros :

je crée news 1. j'ai une table commentaire qui se crée.
je crée news 2. j'ai une table commentaire qui se crée.


Non justement ! On ne créé que très rarement des tables "dynamiquement".

Tu as une seule table dans laquelle tu stockes tous les commentaires de toutes les news : c'est table est créée une fois pour toute au départ le plus souvent manuellement à l'aide d'une requête ou via un outils comme PHPMyAdmin par ex.

Qd tu créés un news tu ne créés rien dans la table commentaires : c'est uniquement lorsqu'un internaute commente ta news que tu ajoutes un enregistrement dans la table commentaires.

1
Edouard73 Messages postés 150 Statut Membre 11
 
donc si je comprends bien...

la colonne "commentaire" se trouve déjà dans la table news. et en réalité, lorsque l'internaute ajoute un commentaire je n'ai qu'a utiliser

("UPDATE news SET '', '', '', '', '', ... , commentaire='" . $commentaire. "' WHERE id='$idd'")

et pour visualisé la news je n'ai qu'a montrer <?php echo $donnees['commentaire']; ?>

si c'est ça... je m'imaginais avoir à faire à un truc énorme alors que c'est presque rien !!!!
1
PhP Messages postés 1774 Statut Membre 606
 
Oui c'est une possibilité sauf si tu autorises plusieurs commentaires pour une même news (ce qui est souvent le cas non ?) : là tu est obligé de passer par une table à part pour y stocker les commentaires.

Donc c'est qd même un peu plus compliqué qu'un simple INSERT

1
Edouard73 Messages postés 150 Statut Membre 11
 
Youpiii j'y suis arrivé

Voici les codes. si ça peux servir à d'autre.

première étape créer 2 bases

1 pour les news (news)

id - int(11)
comA - varchar(11)
titre - varchar(35)
image - text
url - text
description - varchar(250)

et une pour les commentaires (com)

id - int(11)
comA - varchar(11)
nom - varchar(25)
ur -l varchar(75)
contenu - varchar(150)

notez que ce qui va faire le liens entre les deux base est la ligne comA

Page des news

<?php
mysql_connect("serveur", "login", "password");
mysql_select_db("base");

$nombreDeMessagesParPage = 10;
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM partEL');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);

if (isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 1;
}
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
?>

<?php echo stripslashes ($donnees['titre']); ?>

<?php $image = $donnees['image']; echo "<img src='$image'/>";?>

<a class="link1" href="<?php echo stripslashes ($donnees['url']); ?>" target="_parent"><?php echo stripslashes ($donnees['url']); ?></a>

<?php echo $donnees['description']; ?>

<?php echo '<a class="link1" href="commentaires.php?comA=' . $donnees['comA'] . '">'; ?>Commentaires</a>

<?php
}
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a class="linkpagination" href="news.php?page=' . $i . '">' . $i . '</a> ';
}
mysql_close();
?>

Page des commentaires

<?php
$com = $_GET['comA'];
mysql_connect("serveur", "login", "password");
mysql_select_db("base de donnée");
$reponse = mysql_query('SELECT * FROM news WHERE comA="'.$_GET['comA'].'" LIMIT 1');
while($donnees = mysql_fetch_array($reponse))
{
?>

<?php echo stripslashes ($donnees['titre']); ?>
<?php $image = $donnees['image']; echo "<img src='$image'/>";?>

<a class="link1" href="<?php echo stripslashes ($donnees['url']); ?>" target="_parent"><?php echo stripslashes ($donnees['url']); ?></a>

<?php echo $donnees['description']; ?>

<?php
}
mysql_close();
?>

<?php
mysql_connect("serveur", "loggin", "password");
mysql_select_db("carairfreurolo");
$reponse = mysql_query('SELECT * FROM com WHERE comA="'.$com.'"');
while($donnees = mysql_fetch_array($reponse))
{
?>

<a href="<?php echo stripslashes ($donnees['url']); ?>" class="link1" title="commentez ce partenaire"><?php echo stripslashes ($donnees['nom']); ?></a>
<?php echo $donnees['contenu']; ?>

<?php
}
mysql_close();
?>

ce qui fait le liens avec les deux bases c'est $com = $_GET['comA'];
1