Il y a actuellement 135 visiteurs
Lundi 18 Octobre 2021
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

Question sur table mysql et programmation

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

Question sur table mysql et programmation

Message le 01 Sep 2010 13:39

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) :
Code: Tout sélectionner
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
Dernière édition par H3bus le 01 Sep 2010 15:32, édité 1 fois.
Raison: Ajout des balises [code][/code]
On n'entend pas de trompettes le jour où l'on prend les décisions importantes pour le reste de notre vie. Le destin se fait connaître en silence
Avatar de l'utilisateur
romain83000
Expert(e)
Expert(e)
 
Messages: 654
Inscription: 01 Sep 2010 12:56
Localisation: Peyrehorade 40
 


Re: Question sur table mysql et programmation

Message le 01 Sep 2010 16:19

Salut,

Tu peux par exemple créer une table "commentairesvideo" sur le même modèle que "commentairesvideo1" mais avec un champ supplémentaire pour stocker le numéro de la vidéo (exemple 'num_video'). Ensuite tu modifie ta requête d'ajout de commentaire pour renseigner ce champ 'num_video' à chaque nouveau commentaire, et pareil pour la requête qui lit les commentaires, tu lui rajoute une sélection de la vidéo (WHERE num_video = ...).
“It has to start somewhere, it has to start sometime, what better place than here, what better time than now?”
Avatar de l'utilisateur
gael49
Expert(e)
Expert(e)
 
Messages: 1932
Inscription: 07 Sep 2004 20:11
Localisation: Les Mauges
 

Re: Question sur table mysql et programmation

Message le 01 Sep 2010 16:47

Salut Gael49,

Merci pour tes conseils. Je vais essayer comme ça.

merci encore
On n'entend pas de trompettes le jour où l'on prend les décisions importantes pour le reste de notre vie. Le destin se fait connaître en silence
Avatar de l'utilisateur
romain83000
Expert(e)
Expert(e)
 
Messages: 654
Inscription: 01 Sep 2010 12:56
Localisation: Peyrehorade 40
 

Re: Question sur table mysql et programmation

Message le 01 Sep 2010 17:53

J'ai indiqué le nouveau champs pour ma requête d'ajout comme tu me l'a spécifié

// On peut enfin enregistrer :o)
mysql_query("INSERT INTO commentsvideo VALUES('', '" . $pseudo . "', '" . $message . "', '" . $msg_date . "','" . $num_video . "')");

Par contre qu'est ce que je dois renseigner ici (?)

$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
$msg_date = date('Y-m-d H:i:s');
$num_video = ?

merci gael49
On n'entend pas de trompettes le jour où l'on prend les décisions importantes pour le reste de notre vie. Le destin se fait connaître en silence
Avatar de l'utilisateur
romain83000
Expert(e)
Expert(e)
 
Messages: 654
Inscription: 01 Sep 2010 12:56
Localisation: Peyrehorade 40
 

Re: Question sur table mysql et programmation

Message le 01 Sep 2010 20:03

Salut,

Merci pour tes conseils, j'ai trouvé le bon code à saisir. Maintenant j'ai une seule table commentaire pour toutes mes vidéos.

merci encore
On n'entend pas de trompettes le jour où l'on prend les décisions importantes pour le reste de notre vie. Le destin se fait connaître en silence
Avatar de l'utilisateur
romain83000
Expert(e)
Expert(e)
 
Messages: 654
Inscription: 01 Sep 2010 12:56
Localisation: Peyrehorade 40
 



Sujets similaires

Message Référencement : question technique
Hello tout le monde, J'aurais besoin de votre avis vous concernant le référencement et les annuaires. Comme dit ici sur **********, les stratégies de référencement avec les annuaires sont aujourd'hui presque obsolètes. Étant donné que je possède un petit réseau de sites et de blogs, je me demande si ...
Réponses: 3

Message Question a propos XBOX Series S
Bonjour,Au vu du prix raisonable à mes yeux de la nouvelle XBOX Series S a mes yeux, j'envisage d'éventuellement en acquérir une.Mais je me demande comment on fait pour acheter des jeux dematerialisés......egt surtout comment on les installe sur la console car si il s'agit de jouer uniquement par li ...
Réponses: 1

Message Une question honnête sur la console contre le PC
Maintenant, permettez-moi de commencer en disant qu'il ne s'agit en aucun cas d'un message pour déclencher une guerre de flammes, alors restez civilisé dans les commentaires. Ma question est simple; Un PC est évidemment conçu pour bien plus que le jeu, certains d'entre eux ne le sont pas non plus. L ...
Réponses: 2

Message Question sur l'édition console
J'ai acheté la pré-commande de Rust pour la console, mais pour une raison quelconque, j'ai reçu un e-mail me disant que ma commande s'était mal passée de leur côté (fin de Microsoft). Je n'ai pas obtenu de remboursement et il est également indiqué que je ne possède pas le jeu même si je l'ai pré-com ...
Réponses: 2

Message Question pour les joueurs sur console
Bonjour! Je suis un joueur passionné de KSP, tout comme mon frère. L'anniversaire de notre grand-père approche et nous lui organisons une fête. Il était l'un des principaux esprits de l'ingénierie de son temps et a fait beaucoup de travail sur l'ingénierie informatique à l'époque où les ordinateurs ...
Réponses: 1

Message Question sur la réflexion sur le passage au jeu sur PC.
pour cela et je m'excuse si ce n'est pas le cas, mais j'avais quelques questions.À quelle fréquence devez-vous mettre à jour votre matériel? J'aime l'idée de jouer avec les graphismes et la puissance de traitement supérieurs d'un PC, mais je ne peux vraiment pas me permettre de mettre à niveau ma ca ...
Réponses: 1

Message Question logiciel ou outil de veille/curation partagée
Bonjour à toutes et à tous, Dans le cadre de mon travail (je travaille pour un service juridique d'une entreprise de moyenne taille), je suis à la recherche d'un logiciel ou d'un outil qui aurait plusieurs fonctionnalités: - stocker les articles (d'actualité) que je trouve par exemple sur le net rég ...
Réponses: 3


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.