· 10 years ago · Mar 26, 2016, 03:27 AM
1<style>
2body{width:40%;}
3.message-box{margin-bottom:20px;border-top:#F0F0F0 2px solid;background:#FAF8F8;padding:10px;}
4.btnEditAction{background-color:#45619D;border:0;padding:2px 10px;color:#FFF;}
5.btnSaveAction{background-color:#2FC332;border:0;padding:2px 10px;color:#FFF; position: relative; top: -19px; z-index: 10;}
6.btnsave{background-color:#2FC332;border:0;padding:2px 10px;color:#FFF; position: relative; top: -19px; z-index: 10;}
7.salvar2{display: none !important;}
8</style>
9
10<?php
11 require_once("dbcontroller.php");
12 $db_handle = new DBController();
13 $comments = $db_handle->runQuery("SELECT * FROM comment");
14?>
15
16<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
17
18<script>
19
20function showEditBox(editobj,id) {
21 $('.valor').show();
22 $('.salvar').addClass('salvar2');
23 $('#frmAdd').show();
24 $(editobj).prop('disabled','true');
25 var currentMessage = $("#message_" + id + " .message-content").html();
26 var editMarkUp = '<button name="ok" class="btnSaveAction" onClick="callCrudAction('edit','+id+')">Save</button><textarea class="valor2" rows="5" cols="80" id="txtmessage_'+id+'">'+currentMessage+'</textarea>';
27 $("#message_" + id + " .message-content").html(editMarkUp);
28 $('.btnSaveAction').show();
29}
30
31function callCrudAction(action,id) {
32 $("#loaderIcon").show();
33 var queryString;
34 switch(action) {
35 case "edit":
36 queryString = 'action='+action+'&message_id='+ id + '&txtmessage='+ $("#txtmessage_"+id).val();
37 break;
38 case "save":
39 queryString = 'action='+action+'&message_id='+ id + '&txtmessage='+ $("#txtmessage_"+id).val();
40 break;
41}
42jQuery.ajax({
43url: "crud_action.php",
44data:queryString,
45type: "POST",
46success:function(data){
47 switch(action) {
48 case "edit":
49 $('.valor').hide();
50 $('.salvar').addClass('salvar2');
51 $('.btnEditAction').show();
52 $("#message_" + id + " .message-content").html(data);
53 $('#frmAdd').show();
54 $("#message_"+id+" .btnEditAction").prop('disabled','');
55 break;
56
57 case "save":
58 $('.valor').hide();
59 $('.salvar').addClass('salvar2');
60 $('.btnEditAction').show();
61 $("#message_" + id + " .message-content").html(data);
62 $('#frmAdd').show();
63 $("#message_"+id+" .btnEditAction").prop('disabled','');
64 break;
65 }
66 $("#txtmessage").val('');
67 $("#loaderIcon").hide();
68},
69error:function (){}
70});
71}
72</script>
73
74<div class="form_style">
75<div id="comment-list-box">
76<?php
77 if(!empty($comments)) {
78 foreach($comments as $k=>$v) { ?>
79
80<script type="text/javascript">
81 var indice = "<?php echo $comments[$k]["id"];?>";
82</script>
83
84<div class="message-box" id="message_<?php echo $comments[$k]["id"];?>">
85<div>
86<?php if($v['message'] != "") { ?>
87<button class="btnEditAction" name="edit" onClick="showEditBox(this,<?php echo $comments[$k]["id"]; ?>)">Edit</button>
88<?php } ?>
89<?php if($v['message'] == "") { ?>
90 <button style="display: none" class="btnEditAction" name="edit" onClick="showEditBox(this,<?php echo $comments[$k]["id"]; ?>)">Edit</button>
91 <button name="ok" class="btnSaveAction salvar" onClick="callCrudAction('save','indice')">Save</button><textarea class="valor" rows="5" cols="80" id="txtmessage_'<?php echo $comments[$k]["id"]; ?>'"></textarea>
92<?php } ?>
93</div>
94<div class="message-content"><?php echo $comments[$k]["message"]; ?></div>
95</div>
96<?php
97}
98} ?>
99</div>
100
101<img src="LoaderIcon.gif" id="loaderIcon" style="display:none" />
102</div>
103
104<?php
105class DBController {
106private $host = "localhost";
107private $user = "root";
108private $password = "";
109private $database = "database";
110
111function __construct() {
112 $conn = $this->connectDB();
113 if(!empty($conn)) {
114 $this->selectDB($conn);
115 }
116}
117
118function connectDB() {
119 $conn = mysql_connect($this->host,$this->user,$this->password);
120 return $conn;
121}
122
123function selectDB($conn) {
124 mysql_select_db($this->database,$conn);
125}
126
127function runQuery($query) {
128 $result = mysql_query($query);
129 while($row=mysql_fetch_assoc($result)) {
130 $resultset[] = $row;
131 }
132 if(!empty($resultset))
133 return $resultset;
134}
135
136function numRows($query) {
137 $result = mysql_query($query);
138 $rowcount = mysql_num_rows($result);
139 return $rowcount;
140}
141}
142?>
143
144<?php
145require_once("dbcontroller.php");
146$db_handle = new DBController();
147
148$action = $_POST["action"];
149if(!empty($action)) {
150switch($action) {
151 case "edit":
152 $result = mysql_query("UPDATE comment set message = '".$_POST["txtmessage"]."' WHERE id=".$_POST["message_id"]);
153 if($result){
154 echo $_POST["txtmessage"];
155 }
156 break;
157
158 case "save":
159 $result = mysql_query("UPDATE comment set message = '".$_POST["txtmessage"]."' WHERE id=".$_POST["message_id"]);
160 if($result){
161 echo $_POST["txtmessage"];
162 }
163 break;
164 }
165}
166?>
167
168SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
169SET time_zone = "+00:00";
170
171CREATE TABLE IF NOT EXISTS `comment` (
172 `id` int(100) NOT NULL,
173 `message` varchar(200) NOT NULL
174) ENGINE=InnoDB DEFAULT CHARSET=latin1;
175
176INSERT INTO `comment` (`id`, `message`) VALUES
177(1, '3'),
178(2, '2'),
179(4, ''),
180(5, '');
181
182ALTER TABLE `comment`
183 ADD PRIMARY KEY (`id`);