Bdd commentaires et mysql

Fermé
romain83000 - Modifié par romain83000 le 30/08/2010 à 20:33
 romain83000 - 31 août 2010 à 19:18
Bonjour,

Je m'adresse à vous car je n'ai pas trouvé mon bonheur sur la toile.
J'explique mon problème : j'ai dix vidéos sur mon site. Pour chacune des vidéos, j'ai fait une page différente. Dans chaque pages on peut insérer un commentaire. J'ai créé une table MySql pour la vidéo 1 puis une autre table pour la vidéo 2 et ainsi de suite.
Le système fonctionne très bien mais je pense au futur et je me dis que lorsque j'aurais une cinquantaine de vidéos voir plus, j'aurais autant de tables (pas top) dans PHPAdmin.

J'ai déjà essayé de créer une seule table mais lorsque l'on met un commentaire dans la vidéo 1 ou autre, il apparaît dans les toutes les pages (PHP).

Voici le code (source le site du zéro) :

if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
$msg_date = date('Y-m-d H:i:s');

mysql_query("INSERT INTO commentairesvideo1 VALUES('', '" . $pseudo . "', '" . $message . "', '" . $msg_date . "')");
}

// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------

$nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM commentairesvideo1');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);

echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="/videos/dans_le_lit/video2.php?page=' . $i . '">' . $i . '</a> ';
}
?>

</p>
<!-- début tableau messages -->
<table align="center" width="100%" cellspacing="1" cellpadding="0" class="maintable ">
<tr>
<td class="tableh1" colspan="7">Les messages</td>
</tr>

<tr>

<table width="100%" cellpadding="0" cellspacing="0" class="thumbnails">
<tr>
<td align="left">

<?php


// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------

if (isset($_GET['page']))
{
$page = intval ($_GET['page']);
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}

// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query('SELECT * FROM commentairesvideo1 ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit le '. $donnees['msg_date'] .' :<br />' . $donnees['message'] . '</p>';
}

mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)



Ma question est : Pouvez vous m'aider à finaliser le code pour que je n'utilise qu'une seule table SQL, pour les commentaires de chaque page (par exemple "commentsvideo"), mais sans que les commentaires apparaissent dans toutes les pages à la fois ?
Une sorte de table globale pour l'ensemble des commentaires

Merci d'avance à toutes et à tous pour votre aide

1 réponse

Salut,

Quelqu'un aurait une idée

Merci
0