Bdd commentaires et mysql
romain83000
-
romain83000 -
romain83000 -
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
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
A voir également:
- Bdd commentaires et mysql
- Mysql community server - Télécharger - Bases de données
- Clément a partagé le fichier mme bovary. il a écrit des commentaires dans le document. quel est le 2e commentaire ? - Guide
- Mes commentaires tiktok n'apparaissent pas - Forum Mail
- Pourquoi ne peut on pas voir tous les commentaires sur facebook ✓ - Forum Facebook
- Problème affichage commentaires Facebook. ✓ - Forum Facebook