comparison interface/edit_section_db.php @ 3:f196939ccc03

error handle and alert feedback to user. If error occurs, user'll not be halted by the loading page and sections_revisions will recovery to previous version.
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Mon, 26 Jan 2015 12:19:39 +0100
parents da5309d54083
children
comparison
equal deleted inserted replaced
2:da5309d54083 3:f196939ccc03
73 }else{ 73 }else{
74 $table="sections"; 74 $table="sections";
75 $condition=""; 75 $condition="";
76 } 76 }
77 77
78 echo "select from ".$table."\n"; 78 // echo "select from ".$table."\n";
79 79
80 80
81 $query="SELECT * 81 $query="SELECT *
82 FROM ".$table." 82 FROM ".$table."
83 WHERE books_id=".$bookId." ".$condition." 83 WHERE books_id=".$bookId." ".$condition."
98 $query="SELECT id AS revisions_id, name,books_id,section_after,start_page,end_page,level,split_from,sections_id AS id, deleted FROM sections_revisions WHERE versions_id=".$versionInfo['id']." ORDER BY revisions_id ASC"; 98 $query="SELECT id AS revisions_id, name,books_id,section_after,start_page,end_page,level,split_from,sections_id AS id, deleted FROM sections_revisions WHERE versions_id=".$versionInfo['id']." ORDER BY revisions_id ASC";
99 }else{ 99 }else{
100 $query="SELECT * FROM sections WHERE books_id=".$bookId." ORDER BY id ASC"; 100 $query="SELECT * FROM sections WHERE books_id=".$bookId." ORDER BY id ASC";
101 } 101 }
102 $result=mysql_query($query); 102 $result=mysql_query($query);
103
103 $i=0; 104 $i=0;
104 $sectionArray=array(); 105 $sectionArray=array();
105 while($row=mysql_fetch_assoc($result)){ 106 while($row=mysql_fetch_assoc($result)){
106 $flag=""; 107 $flag="";
107 if($i!=sizeof($pageArray) && $pageArray[$i]['start_page']==$row['start_page'] && $pageArray[$i]['end_page']==$row['end_page']){ 108 if($i!=sizeof($pageArray) && $pageArray[$i]['start_page']==$row['start_page'] && $pageArray[$i]['end_page']==$row['end_page']){
127 } 128 }
128 function updateSectionArray($bookId,$sectionArray,$version,$editor){ 129 function updateSectionArray($bookId,$sectionArray,$version,$editor){
129 $query="INSERT INTO sections_versions (version,editor,date,books_id) VALUES (".($version+1).",'".$editor."',NOW(),'".$bookId."')"; 130 $query="INSERT INTO sections_versions (version,editor,date,books_id) VALUES (".($version+1).",'".$editor."',NOW(),'".$bookId."')";
130 $result=mysql_query($query); 131 $result=mysql_query($query);
131 if(!$result){ 132 if(!$result){
132 echo json_encode("Failed during inserting version records."); 133 echo json_encode("Failed during inserting sections_version records."); // .mysql_error();
133 return; 134 return;
134 } 135 }
135 $versionId=mysql_insert_id(); 136 $versionId=mysql_insert_id();
136 $query="INSERT INTO sections_revisions (name,books_id,section_after,start_page,end_page,level,split_from,sections_id,versions_id,deleted) VALUES "; 137 $query="INSERT INTO sections_revisions (name,books_id,section_after,start_page,end_page,level,split_from,sections_id,versions_id,deleted) VALUES ";
137 foreach($sectionArray as $idx=>$row){ 138 foreach($sectionArray as $idx=>$row){
152 } 153 }
153 $query.=$str; 154 $query.=$str;
154 } 155 }
155 $result=mysql_query($query); 156 $result=mysql_query($query);
156 if(!$result){ 157 if(!$result){
157 echo json_encode("Failed during inserting section records."); 158 echo json_encode("Failed during inserting sections_revisions records."); // .mysql_error();
159
160 // Delete the sections_versions for this user
161 // delete $versionId in table sections_versions
162 $query="DELETE FROM sections_versions WHERE id=".$versionId;
163 $result_deleting=mysql_query($query);
164 if(!$result_deleting){
165 echo json_encode("Failed during deleting wrongly inserted sections_version record.");
166 }
158 return; 167 return;
159 }else{ 168 }else{
160 echo json_encode("Succeeded."); 169 echo json_encode("Succeeded.");
161 } 170 }
162 } 171 }
186 //$query="SELECT id FROM books WHERE id NOT IN (SELECT DISTINCT (books_id) FROM sections)"; 195 //$query="SELECT id FROM books WHERE id NOT IN (SELECT DISTINCT (books_id) FROM sections)";
187 $query="SELECT books.id, books.name FROM books LEFT JOIN sections ON books.id=sections.books_id WHERE sections.books_id IS NULL"; 196 $query="SELECT books.id, books.name FROM books LEFT JOIN sections ON books.id=sections.books_id WHERE sections.books_id IS NULL";
188 197
189 $result=mysql_query($query); 198 $result=mysql_query($query);
190 if(!$result){ 199 if(!$result){
191 echo json_encode("Failed during inserting section records."); 200 echo json_encode("Failed during querying records.");
192 return; 201 return;
193 } 202 }
194 203
195 while($row=mysql_fetch_assoc($result)){
196 //echo $row['books_id'], ", ";
197 //echo $row.", ";
198 }
199 echo "missing books num: ".mysql_num_rows($result); 204 echo "missing books num: ".mysql_num_rows($result);
200 echo '\n'; 205 echo '\n';
201 206
202 207
203 208
263 268
264 269
265 if(isset($_POST['command']) && $_POST['command']!=''){ 270 if(isset($_POST['command']) && $_POST['command']!=''){
266 $command=$_POST['command']; 271 $command=$_POST['command'];
267 if($command=="write"){ 272 if($command=="write"){
268 $bookId=$_POST['bookId']; 273
269 $sectionArray=$_POST['sectionArray'];
270 $version=$_POST['version'];
271 $editor=$_POST['editor'];
272
273 foreach ($sectionArray as $key => $value) {
274 //echo $key.',';
275 foreach ($value as $key => $inner_val) {
276 //echo $key.",".$inner_val."\n";
277 }
278 }
279
280 //echo "bookId:".$bookId.", "."editor:".$editor;
281 if(isset($bookId)&&isset($sectionArray)&&isset($version)&&isset($editor)&&\
282 is_numeric($bookId) && sizeof($sectionArray)!=0 && is_numeric($version) && $editor!=""){
283
284 updateSectionArray($bookId,$sectionArray,$version,$editor);
285 }
286 /*
287 if(isset($_POST['bookId'])&&isset($_POST['sectionArray'])&&isset($_POST['version'])&&isset($_POST['editor'])&&\ 274 if(isset($_POST['bookId'])&&isset($_POST['sectionArray'])&&isset($_POST['version'])&&isset($_POST['editor'])&&\
288 is_numeric($_POST['bookId']) && sizeof($_POST['sectionArray'])!=0 && is_numeric($_POST['version']) && $_POST['editor']!=""){ 275 is_numeric($_POST['bookId']) && sizeof($_POST['sectionArray'])!=0 && is_numeric($_POST['version']) && $_POST['editor']!=""){
289 $bookId=$_POST['bookId']; 276 $bookId=$_POST['bookId'];
290 $sectionArray=$_POST['sectionArray']; 277 $sectionArray=$_POST['sectionArray'];
291 $version=$_POST['version']; 278 $version=$_POST['version'];
292 $editor=$_POST['editor']; 279 $editor=$_POST['editor'];
293 280
294 echo "updating db..."; 281 updateSectionArray($bookId,$sectionArray,$version,$editor);
295 // updateSectionArray($bookId,$sectionArray,$version,$editor); 282 }
296 } 283 else{
297 */ 284 echo json_encode("Editing info not correct.");
285
286 }
287 }
288 else{
289 echo json_encode("Wrong command.");
290 return;
298 } 291 }
299 } 292 }
300 293
301 ?> 294 ?>