· 5 years ago · Apr 28, 2020, 05:14 PM
1<?php
2
3 /*
4 sa c'est la page ou j'affiche les
5 message posté aux niveau du formu
6 et elle permet aussi de posté un
7 message encore (qui veut dire inserer
8 un message lui aussi)
9 */
10 session_start();
11
12 try
13 {
14 $host = "localhost";
15 $db_name = "mini_chat";
16
17 $dsn = "mysql:host=$host;dbname=$db_name";
18 $user = "nouha";
19 $passwd = "passer";
20 $options =
21 [
22 PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
23 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
24 PDO::ATTR_EMULATE_PREPARES => false
25 ];
26
27 $bd = new PDO($dsn, $user, $passwd, $options);
28
29 echo "connection a la base reussit";
30
31 }
32 catch (PDOException $e)
33 {
34 die("ERREUR : ".$e->getMessage());
35 }
36
37?>
38<html>
39 <head>
40 <meta charset="utf8">
41 <title>Muni_Chat</title>
42 </head>
43
44 <body>
45
46 <?php
47 // pour inserer un commentaire
48 if(isset($_POST['save']) == "ok")
49 {
50 if(isset($_POST['value']) && !empty($_POST['value']))
51 {
52 $val1 = $_SESSION['id'];
53 $val2 = $_POST['value'];
54 $sql = "
55 INSERT INTO mc_comment(comment_user, comment_content)
56 VALUES
57 (:val1, :val2)
58 ";
59 $req = $bd->prepare($sql);
60
61
62 $req->execute (
63 [
64 "val1" => $_SESSION['id'],
65 "val2" => $_POST['value']
66 ]
67
68 );
69
70
71 }
72
73
74 }
75
76 $sql = "
77 SELECT COUNT(*) AS nb_element FROM mc_comment
78 ";
79
80 $req = $bd->query($sql);
81 $nombre = $req->fetch(PDO::FETCH_ASSOC);
82 $nombre = $nombre['nb_element'] - 40;
83
84 $sql = "
85 SELECT user_name, comment_content
86 FROM mc_comment
87 INNER JOIN mc_user ON mc_comment.comment_user = mc_user.id_user
88 ";
89
90 $req = $bd->query($sql);
91 $data= $req->fetchAll(PDO::FETCH_ASSOC);
92 $req->closeCursor();
93
94 ?>
95
96 <div>
97 <table>
98 <?php
99 // affichage des message du chat
100 foreach($data as $struct)
101 {
102 ?>
103 <tr>
104 <?php
105 foreach($struct as $value)
106 {
107 ?>
108 <td><?php echo $value ?></td>
109 <?php
110 }
111 ?>
112
113 </tr>
114 <?php
115 }
116 ?>
117
118 <form action="" method="post">
119 <table>
120 <tr>
121 <td><input type="text" name="value"></td>
122 <td><input type="submit" name="save" value="ok"></td>
123 </tr>
124 </table>
125 </form>
126 </table>
127 </div>
128
129
130 <style>
131 body
132 {
133 width: 1200px;
134 margin: auto;
135 background-color: #EEE;
136 }
137
138 div
139 {
140 width: 1000px;
141 margin: auto;
142 border: 1px dashed green;
143 }
144
145 table, td
146 {
147 border: 1px solid black;
148 borer-collapse: collapse;
149 }
150
151 </style>
152
153
154 </body>
155</html>
156
157
158
159<?php
160 /*
161 <== AU NIVEAU DE LA BASE DE DONÉE ==>
162
163
164
165 USE mini_chat;
166 DROP TABLE IF EXISTS mc_user;
167 DROP TABLE IF EXISTS mc_comment;
168 CREATE TABLE IF NOT EXISTS mc_user
169 (
170 id_user INT NOT NULL AUTO_INCREMENT,
171 user_name VARCHAR(65) NOT NULL,
172 PRIMARY KEY(id_user)
173 );
174
175 CREATE TABLE IF NOT EXISTS mc_comment
176 (
177 id_comment INT NOT NULL AUTO_INCREMENT,
178 comment_user INT NOT NULL,
179 comment_content TEXT,
180 PRIMARY KEY(id_comment)
181 );
182
183 INSERT INTO mc_user(user_name)
184 VALUES
185 ('noah'),
186 ('moise');
187
188 SELECT *
189 FROM mc_comment
190 INNER JOIN mc_user ON mc_comment.comment_user = mc_user.id_user;
191 */
192?>