Bonjour,
Je vous explique ce que j'ai et ce que je voudrais :
Ce que j'ai :
Deux pages :
- Une qui liste les cours (sur laquelle on choisi le cours voulu)
- Une qui affiche le cours sélectionné
Ce que j'aimerais :
- Ajouter un bloc "COMMENTAIRES" sur la page qui affiche le cours (en bas) où l'on postera/affichera les commentaires du bon cours.
Pour cela, j'ai fait une table dont voici le:
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part CREATE TABLE
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE IF NOT EXISTS `test_site_commentaires_cours_tp` ( `id_commentaires_cours_tp` int(11) NOT NULL AUTO_INCREMENT, `id_cours_tp` int(11) NOT NULL, `id_utilisateur` int(11) NOT NULL, `date_depot` datetime NOT NULL, `texte_commentaire` text CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`id_commentaires_cours_tp`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Voici lede la table test_site_cours_tp :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part CREATE TABLE
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE TABLE IF NOT EXISTS `test_site_cours_tp` ( `id_cours_tp` int(11) NOT NULL AUTO_INCREMENT, `date_depot_cours_tp` datetime NOT NULL, `date_cloture_validation_cours_tp` datetime NOT NULL, `titre_cours_tp` varchar(255) CHARACTER SET utf8 NOT NULL, `contenu_cours_tp` longtext CHARACTER SET utf8 NOT NULL, `type_devoir_cours_tp` int(11) NOT NULL DEFAULT '1', `matiere_cours_tp` varchar(255) CHARACTER SET utf8 NOT NULL, `nom_auteur_cours_tp` varchar(255) CHARACTER SET utf8 NOT NULL, `classe_cours_tp` varchar(255) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`id_cours_tp`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
Jusque là tout va bien !!!
Afin de poster un commentaire, j'ai fait un formulaire que j'ai mis dans unque voici :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part echo
(le début du formulaire)
Code php : Sélectionner tout - Visualiser dans une fenêtre à part echo '<form method="post" action=""><textarea name="texte_commentaire_cours"></textarea><input type="submit" name="envoyer_commentaire" value="Poster ce nouveau commentaire !" />';
Voici comment je récupère $id_cours_tp :que je mets en session comme ça
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $id_cours_tp = intval($_POST['id_cours_tp']);].
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $_SESSION['id_cours_tp']=$id_cours_tp;
La requête SQL :
Le traitement (les tests+boucle) :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $query_selection_commentaire_cours_tp = mysql_query('SELECT t1.id_utilisateur,t1.date_depot,t1.texte_commentaire,t1.id_cours_tp FROM test_site_commentaires_cours_tp t1,test_site_cours_tp t2 WHERE t2.id_cours_tp=t1.id_commentaires_cours_tp AND t2.id_cours_tp ='.$id_cours_tp) or die ('Erreur sur la requête SQL concernant la sélection des commentaires par rapport aux bons Cours/TP'.mysql_error()); // Envoie une requête à un serveur MySQL
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 while ($donnees_selection_commentaire_cours_tp = mysql_fetch_assoc($query_selection_commentaire_cours_tp)) { echo $donnees_selection_commentaire_cours_tp["id_cours_tp"]; echo $donnees_selection_commentaire_cours_tp["pseudo_utilisateur"]; echo $donnees_selection_commentaire_cours_tp["date_depot"]; echo $donnees_selection_commentaire_cours_tp["texte_commentaire"]; } if(isset($_POST['envoyer_commentaire'])){ if(strlen($_POST['texte_commentaire_cours'])<1){ echo 'Vous devez saisir votre commentaire.'; } else $texte_commentaire_cours=mysql_real_escape_string(stripcslashes(htmlspecialchars($_POST["texte_commentaire_cours"]))); $insertion_commentaire_cours_tp = mysql_query("INSERT INTO test_site_commentaires_cours_tp(id_utilisateur,date_depot,texte_commentaire,id_cours_tp) VALUE ('$query_recuperation_identifiant_connecte' ,now(),'$texte_commentaire_cours','$id_cours_tp'") or die("Erreur sur la requête SQL qui insère des commentaires du Cours/TP correspondant."); } } echo '</form>';
Tout d'abord, je rencontre un problème lors de la soumission du formulaire. Quand je soumet le formulaire, tout disparait (une page blanche s'affiche) alors que je voudrais simplement (ne pas toucher au cours qui sera au dessus) soit :
-afficher un message d'erreur
-faire la requêteet afficher le message
Code sq : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO
Voici la variable de session $query_recuperation_identifiant_connecte :
.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $query_recuperation_identifiant_connecte=$_SESSION['id_utilisateur'];
En une question : comment faire pour éviter que ça affiche une page blanche lors de la soumission du formulaire ? Il ne faut pas perdre(à mon avis)...
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $_SESSION['id_cours_tp']=$id_cours_tp;
Partager