Il y a actuellement 207 visiteurs
Samedi 06 Décembre 2025
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]
Avatar de l'utilisateur
romain83000
Expert(e)
Expert(e)
 
Messages: 668
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 = ...).
Avatar de l'utilisateur
gael49
Expert(e)
Expert(e)
 
Messages: 1935
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
Avatar de l'utilisateur
romain83000
Expert(e)
Expert(e)
 
Messages: 668
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
Avatar de l'utilisateur
romain83000
Expert(e)
Expert(e)
 
Messages: 668
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
Avatar de l'utilisateur
romain83000
Expert(e)
Expert(e)
 
Messages: 668
Inscription: 01 Sep 2010 12:56
Localisation: Peyrehorade 40
 



Sujets similaires

Message question sur mot de passe demandé au démarrage
Bonjour,Pourriez-vous m'indiquer si vous sauriez me dire pourquoi lors du changement de disque dur pour un SSD, il y a une demande de mot de passe alors que j'en ai pas mis lors de l'installation de Windows 11 sur le pc acer A 517-51G-30ZC ?Comment faire du coup ?MerciCordialement
Réponses: 1

Message Petite question concernant une possible infection
Alors premièrement je ne pense pas avoir été infecté, car tout va bien sur mon pc, j'ai juste remarqué quelques petits changements anodins ( comme la souris qui se déplace parfois un peu vite sur les menus du GECK ( c'est un kit de développement pour Fallout 3, car quand je ne joue pas sur des jeux, ...
Réponses: 0

Message question pc
Bonjour, voilà mon ancien pc (tour) que j'ai donné à la mamie fait des siennes, panne DD interne, ma question , si je remplace le DD pour Windows pour en réinstallé un ( meme un ancien 7-8) elle s'en sert juste pour allé sur c compte et regardé des info localje suppose qu'il n'est pas gratuit ..que ...
Réponses: 3

Message question w11
Ok donc après la date donnée, je peux quand même continuer avec mon W10 Merci EinsteinZero
Réponses: 5

Message question sur SFP+ RJ45
Bonjour, je voudrais savoir si je peux adapter ce type de module SFP+ RJ45 pour ma carte réseau ma carte mère peut-elle supporter ? Réf de ma carte mère ( GA-970A-DS3P) savoir avant de la commander chez free merci
Réponses: 2

Message Question sur macbook A 1466
Bonjour,Est-il possible de lire le disque dur au format "Nvme" du macbook A 1466 afin de vérifier son état comme je le fais d'habitude avec des SSD classiques avec crystal disk info sous windows car la batterie se charge bien mais l'écran s"allume et s'éteint, c'est bizarre ?MerciCord ...
Réponses: 7

Message question profil reseau
Re,Mets la configuration sur privé. Privé, c'est pour le PC personnel Public, c'est pour te connecter sur le réseau dans un lieu public et notamment avec une connexion Wifi ouverte.Différence ntre un réseau public et privéJe vois que Pac428 a répondu en même temp que moi mais cela a bloqué mon envo ...
Réponses: 6


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


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