Commentaires en PHP lié à un script de news
Posté : 15 mars 2013, 17:48
Bonjour,
J'ai un mur sur lequel j'affiche les post des membres.
J'aimerais ajouter un système de commentaires, le problème c'est que je n'arrive pas à afficher le commentaire qui est lié au post
Pourtant la table "wa_mur" qui contient :
"id_post" (l'id du post)
"id_membre" (l'id du membre qui poste)
"poster" (le contenu)
"date"
Et la table "wa_comment" qui contient :
"id_comment" (l'id du commentaire)
"membre_id" (l'id du membre qui commente)
"msg_comment" (le contenu du commentaire)
"post_id" (l'id du post de la table mur = id_post)
Voici ma page mur.inc.php
Peut-être que je m'y prend mal pour le système de mur/news et le système de commentaire
Merci d'avance pour votre aide
J'ai un mur sur lequel j'affiche les post des membres.
J'aimerais ajouter un système de commentaires, le problème c'est que je n'arrive pas à afficher le commentaire qui est lié au post
Pourtant la table "wa_mur" qui contient :
"id_post" (l'id du post)
"id_membre" (l'id du membre qui poste)
"poster" (le contenu)
"date"
Et la table "wa_comment" qui contient :
"id_comment" (l'id du commentaire)
"membre_id" (l'id du membre qui commente)
"msg_comment" (le contenu du commentaire)
"post_id" (l'id du post de la table mur = id_post)
Voici ma page mur.inc.php
<div id="container">
<?php
$base = mysql_connect ('•••••••••••', '•••••••••••', '•••••••••••');
mysql_select_db('•••••••••••', $base);
$id_post = $_GET['post_id'];
$sql = "SELECT * FROM wa_mur, wa_communaute WHERE id_membre=id ORDER BY date DESC;";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);
function getRelativeTime($date)
{
$date_a_comparer = new DateTime($date);
$date_actuelle = new DateTime("now");
$intervalle = $date_a_comparer->diff($date_actuelle);
if ($date_a_comparer > $date_actuelle)
{
$prefixe = 'Dans ';
}
else
{
$prefixe = 'Il y a ';
}
$ans = $intervalle->format('%y');
$mois = $intervalle->format('%m');
$jours = $intervalle->format('%d');
$heures = $intervalle->format('%h');
$minutes = $intervalle->format('%i');
$secondes = $intervalle->format('%s');
if ($ans != 0)
{
$relative_date = $prefixe . $ans . ' an' . (($ans > 1) ? 's' : '');
if ($mois >= 6) $relative_date .= ' et demi';
}
elseif ($mois != 0)
{
$relative_date = $prefixe . $mois . ' mois';
if ($jours >= 15) $relative_date .= ' et demi';
}
elseif ($jours != 0)
{
$relative_date = $prefixe . $jours . ' jour' . (($jours > 1) ? 's' : '');
}
elseif ($heures != 0)
{
$relative_date = $prefixe . $heures . ' heure' . (($heures > 1) ? 's' : '');
}
elseif ($minutes != 0)
{
$relative_date = $prefixe . $minutes . ' minute' . (($minutes > 1) ? 's' : '');
}
else
{
$relative_date = $prefixe . ' quelques secondes';
}
return $relative_date;
}
?>
<ul class="user-data" style="margin-bottom: 20px;list-style-type: none;">
<?php
if ($nb == 0) {
echo '<div style="text-align: center;font-size: 11px;color: #666;">Aucune actualités pour l\'instant</div>';
}
else {
while ($data = mysql_fetch_assoc($req)) { ?>
<li class="user-item" style="float: left;padding: 13px 10px 10px;width: 460px;border-top: 1px solid #cecece;word-wrap: break-word;">
<div class="user-avatar float-l" style="margin-right: 10px;">
<a href="/<?php echo htmlentities(trim($data['pseudo'])); ?>"><img src="../img/upload/<?php echo htmlentities(trim($data['id'])); ?>-mini.png" width="50" height="50" alt="" /></a>
</div>
<div class="user-title" style="margin-bottom: 5px;font-weight: bold;">
<a href="/<?php echo htmlentities(trim($data['pseudo'])); ?>" style="color: #005B83;"><?php echo htmlentities(trim($data['prenom'])); ?> <?php echo htmlentities(trim($data['nom'])); ?></a>
</div>
<div class="user-content" style="margin-left: 60px;">
<p><?php echo htmlentities(nl2br(trim($data['poster']))); ?></p>
</div>
<div class="sub-userContent" style="margin-left: 60px;">
<div class="sub-userFooter" style="margin-top: 6px;">
<p class="size11" style="color: #777;"><a href="" class="sub-userFooter-link" style="color: #0D5085;">J'aime</a> - <a href="" class="sub-userFooter-link" style="color: #0D5085;">Commenter</a> - <?php echo getRelativeTime($data['date']); ?></p>
</div>
<ul class="sub-userData" style="list-style-type: none;">
<li>
<i class="sub-userArrow" style="background: url(../img/top-sub-user.png);background-repeat: no-repeat;height: 5px;display: block;margin-top: 5px;margin-left: 60px;"></i>
</li>
<li class="sub-userItem" style="background-color: #bebebe;margin: 0;padding: 4px;margin: 0 0 1px;">
</li>
<li class="sub-userItem" style="background-color: #bebebe;margin: 0;padding: 4px;min-height: 32px;">
<div class="user-avatarCom" style="float: left;padding: 0;margin: 0;">
<img style="margin-right: 4px;" src="../img/upload/<?php echo $result['id']; ?>-mini.png" width="32" height="32" alt="" />
</div>
<form action="" method="post" onsubmit="return false;" class="form_com">
<input type="hidden" name="<?php echo $data['pseudo']; ?>" />
<input type="hidden" name="<?php echo $data['post_id']; ?>" />
<textarea name="msg_comment" class="" style="border: 1px solid #999;font-size: 11px; margin-left: 5px; height: 26px; padding: 5px; width: 343px;resize: none;font-family: Tahoma;position: relative;overflow: hidden;display: block;" id="<?php echo $data['pseudo']; ?>" placeholder="Écrire un commentaire"></textarea>
</form>
<script type="text/javascript">J(".form_com").keypress(function(e) { if(e.which == 13) { var = J('.').val();if( == '') { return false; } else { J('span.load-refresh').show(); J.ajax({ url: "ajax/add_comment.php", type: J(this).attr('method'), data: J(this).serialize(), success: function(html) { J('.').html(html); J('span.load-refresh').hide(); return false; } }); } return false; } });</script>
<script type="text/javascript">window.addEvent('domready', function() {new DynamicTextarea('<?php echo $data['pseudo']; ?>');});</script>
</li>
</ul>
</div>
</li>
<?php }
}
?>
</ul>
</div>
Les news s'affichent en fonction des membres qui post, donc ça va pour ce scriptPeut-être que je m'y prend mal pour le système de mur/news et le système de commentaire
Merci d'avance pour votre aide